Install Wildfly 10.1 on Ubuntu 16.04
Be sure to use the same Java version as the one used as compilation target of generated WAR.
Run the following script:
sudo apt-get update
apt install software-properties-common
add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
cd /tmp
wget http://download.jboss.org/wildfly/10.1.0.Final/wildfly-10.1.0.Final.tar.gz
tar -xzvf wildfly-10.1.0.Final.tar.gz
mv wildfly-10.1.0.Final wildfly
cp -R wildfly /opt/
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
chown -R wildfly:wildfly /opt/wildfly
cd wildfly/docs/contrib/scripts/systemd
mkdir /etc/wildfly
cp wildfly.conf /etc/wildfly/
cp wildfly.service /etc/systemd/system/
cp launch.sh /opt/wildfly/bin/
chmod +x /opt/wildfly/bin/launch.sh
# do not launch wildfly through standalone.sh->it will screw up file permissions
systemctl start wildfly.service
systemctl enable wildfly.service
- Watch out for CRLF EndOfLine (should be just LFs)
- Check that Wildfly is running through
systemctl status wildfly
In order to check from outside current VM/physical machine that Wildfly was started change standalone.xml content so that:
<interface name="public">
<any-address/>
</interface>
There might be required some other changes to the default distribution. Besure that wildfly user is owner all added items (chown -R wildfly:wildfly /opt/wildfly/modules
)
Add EclipseLink Support
- Download eclipselink.jar to
modules\system\layers\base\org\eclipse\persistence\main
- Change
module.xml
so that:
<resources>
<resource-root path="jipijapa-eclipselink-10.1.0.Final.jar"/>
<resource-root path="eclipselink.jar">
<filter>
<exclude path="javax/**" />
</filter>
</resource-root>
</resources>
Add SQL Server support
- Create
modules\system\layers\base\com\microsoft\sqlserver\jdbc\main
- Download
sqljdbc4.jar
- Create
module.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="com.microsoft.sqlserver.jdbc">
<resources>
<resource-root path="sqljdbc4.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
Add PostgreSQL Support
- Create
modules\system\layers\base\org\postgresql\main
- Download latest JDBC PostgreSQL driver
- Create
module.xml
(change driver name acordingly):
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="org.postgresql">
<resources>
<!-- Make sure this matches the name of the JAR you are installing -->
<resource-root path="postgresql-9.4-1202.jdbc4.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
<module name="javax.servlet.api" optional="true"/>
</dependencies>
</module>
Restart Wildfly...
Velocity Note
If some of the used components in generated WAR use Velocity you will encounter the following error in server.log (during hot deployment or Wildfly restart): Error configuring AvalonLogSystem : java.io.FileNotFoundException: /velocity.log (Permission denied)
. This is due to the fact that velocity.properties (as found in velocity jar, path org\apache\velocity\runtime\defaults\
states:
runtime.log = velocity.log
The quick solution is to create an empty velocity.log
file in the root of your file system with full access (?) for wildfly user.
IyBJbnN0YWxsIFdpbGRmbHkgMTAuMSBvbiBVYnVudHUgMTYuMDQNCg0KKipCZSBzdXJlIHRvIHVzZSB0aGUgc2FtZSBKYXZhIHZlcnNpb24gYXMgdGhlIG9uZSB1c2VkIGFzIGNvbXBpbGF0aW9uIHRhcmdldCBvZiBnZW5lcmF0ZWQgV0FSLioqDQoNClJ1biB0aGUgZm9sbG93aW5nIHNjcmlwdDoNCmBgYA0Kc3VkbyBhcHQtZ2V0IHVwZGF0ZQ0KYXB0IGluc3RhbGwgc29mdHdhcmUtcHJvcGVydGllcy1jb21tb24NCmFkZC1hcHQtcmVwb3NpdG9yeSBwcGE6d2VidXBkOHRlYW0vamF2YQ0Kc3VkbyBhcHQtZ2V0IHVwZGF0ZQ0Kc3VkbyBhcHQtZ2V0IGluc3RhbGwgb3JhY2xlLWphdmE4LWluc3RhbGxlcg0KDQpjZCAvdG1wDQp3Z2V0IGh0dHA6Ly9kb3dubG9hZC5qYm9zcy5vcmcvd2lsZGZseS8xMC4xLjAuRmluYWwvd2lsZGZseS0xMC4xLjAuRmluYWwudGFyLmd6DQp0YXIgLXh6dmYgd2lsZGZseS0xMC4xLjAuRmluYWwudGFyLmd6DQptdiB3aWxkZmx5LTEwLjEuMC5GaW5hbCB3aWxkZmx5DQpjcCAtUiAgd2lsZGZseSAvb3B0Lw0KDQpncm91cGFkZCAtciB3aWxkZmx5DQp1c2VyYWRkIC1yIC1nIHdpbGRmbHkgLWQgL29wdC93aWxkZmx5IC1zIC9zYmluL25vbG9naW4gd2lsZGZseQ0KY2hvd24gLVIgd2lsZGZseTp3aWxkZmx5IC9vcHQvd2lsZGZseQ0KDQpjZCB3aWxkZmx5L2RvY3MvY29udHJpYi9zY3JpcHRzL3N5c3RlbWQNCg0KbWtkaXIgL2V0Yy93aWxkZmx5DQpjcCB3aWxkZmx5LmNvbmYgL2V0Yy93aWxkZmx5Lw0KY3Agd2lsZGZseS5zZXJ2aWNlIC9ldGMvc3lzdGVtZC9zeXN0ZW0vDQpjcCBsYXVuY2guc2ggL29wdC93aWxkZmx5L2Jpbi8NCmNobW9kICt4IC9vcHQvd2lsZGZseS9iaW4vbGF1bmNoLnNoDQoNCiMgZG8gbm90IGxhdW5jaCB3aWxkZmx5IHRocm91Z2ggc3RhbmRhbG9uZS5zaC0+aXQgd2lsbCBzY3JldyB1cCBmaWxlIHBlcm1pc3Npb25zDQoNCnN5c3RlbWN0bCBzdGFydCB3aWxkZmx5LnNlcnZpY2UNCnN5c3RlbWN0bCBlbmFibGUgd2lsZGZseS5zZXJ2aWNlDQpgYGANCg0KLSBXYXRjaCBvdXQgZm9yIENSTEYgRW5kT2ZMaW5lIChzaG91bGQgYmUganVzdCBMRnMpDQotIENoZWNrIHRoYXQgV2lsZGZseSBpcyBydW5uaW5nIHRocm91Z2ggYHN5c3RlbWN0bCBzdGF0dXMgd2lsZGZseWANCg0KSW4gb3JkZXIgdG8gY2hlY2sgZnJvbSBvdXRzaWRlIGN1cnJlbnQgVk0vcGh5c2ljYWwgbWFjaGluZSB0aGF0IFdpbGRmbHkgd2FzIHN0YXJ0ZWQgY2hhbmdlIHN0YW5kYWxvbmUueG1sIGNvbnRlbnQgc28gdGhhdDoNCmBgYHhtbA0KICAgICAgICA8aW50ZXJmYWNlIG5hbWU9InB1YmxpYyI+DQogICAgICAgICAgICA8YW55LWFkZHJlc3MvPg0KICAgICAgICA8L2ludGVyZmFjZT4NCmBgYA0KVGhlcmUgbWlnaHQgYmUgcmVxdWlyZWQgc29tZSBvdGhlciBjaGFuZ2VzIHRvIHRoZSBkZWZhdWx0IGRpc3RyaWJ1dGlvbi4gQmVzdXJlIHRoYXQgd2lsZGZseSB1c2VyIGlzIG93bmVyIGFsbCBhZGRlZCBpdGVtcyAoYGNob3duIC1SIHdpbGRmbHk6d2lsZGZseSAvb3B0L3dpbGRmbHkvbW9kdWxlc2ApDQoNCiMjIEFkZCBFY2xpcHNlTGluayBTdXBwb3J0DQoNCi0gRG93bmxvYWQgZWNsaXBzZWxpbmsuamFyIHRvIGBtb2R1bGVzXHN5c3RlbVxsYXllcnNcYmFzZVxvcmdcZWNsaXBzZVxwZXJzaXN0ZW5jZVxtYWluYA0KLSBDaGFuZ2UgYG1vZHVsZS54bWxgIHNvIHRoYXQ6DQpgYGB4bWwNCiAgICA8cmVzb3VyY2VzPg0KICAgICAgICA8cmVzb3VyY2Utcm9vdCBwYXRoPSJqaXBpamFwYS1lY2xpcHNlbGluay0xMC4xLjAuRmluYWwuamFyIi8+DQoJCTxyZXNvdXJjZS1yb290IHBhdGg9ImVjbGlwc2VsaW5rLmphciI+DQoJCQk8ZmlsdGVyPg0KCQkJCTxleGNsdWRlIHBhdGg9ImphdmF4LyoqIiAvPg0KCQkJPC9maWx0ZXI+DQoJCTwvcmVzb3VyY2Utcm9vdD4NCiAgICA8L3Jlc291cmNlcz4NCmBgYA0KDQojIyBBZGQgU1FMIFNlcnZlciBzdXBwb3J0DQoNCi0gQ3JlYXRlIGBtb2R1bGVzXHN5c3RlbVxsYXllcnNcYmFzZVxjb21cbWljcm9zb2Z0XHNxbHNlcnZlclxqZGJjXG1haW5gDQotIERvd25sb2FkIGBzcWxqZGJjNC5qYXJgDQotIENyZWF0ZSBgbW9kdWxlLnhtbGA6DQpgYGB4bWwNCjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+DQo8bW9kdWxlIHhtbG5zPSJ1cm46amJvc3M6bW9kdWxlOjEuMyIgbmFtZT0iY29tLm1pY3Jvc29mdC5zcWxzZXJ2ZXIuamRiYyI+DQogICAgPHJlc291cmNlcz4NCiAgICAgICAgPHJlc291cmNlLXJvb3QgcGF0aD0ic3FsamRiYzQuamFyIi8+DQogICAgPC9yZXNvdXJjZXM+DQogICAgPGRlcGVuZGVuY2llcz4NCiAgICAgICAgPG1vZHVsZSBuYW1lPSJqYXZheC5hcGkiLz4NCiAgICAgICAgPG1vZHVsZSBuYW1lPSJqYXZheC50cmFuc2FjdGlvbi5hcGkiLz4NCiAgICA8L2RlcGVuZGVuY2llcz4NCjwvbW9kdWxlPg0KYGBgIA0KDQojIyBBZGQgUG9zdGdyZVNRTCBTdXBwb3J0DQoNCg0KLSBDcmVhdGUgYG1vZHVsZXNcc3lzdGVtXGxheWVyc1xiYXNlXG9yZ1xwb3N0Z3Jlc3FsXG1haW5gDQotIERvd25sb2FkIGxhdGVzdCBKREJDIFBvc3RncmVTUUwgZHJpdmVyDQotIENyZWF0ZSBgbW9kdWxlLnhtbGAoY2hhbmdlIGRyaXZlciBuYW1lIGFjb3JkaW5nbHkpOg0KYGBgeG1sDQo8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/Pg0KPG1vZHVsZSB4bWxucz0idXJuOmpib3NzOm1vZHVsZToxLjMiIG5hbWU9Im9yZy5wb3N0Z3Jlc3FsIj4NCiAgICA8cmVzb3VyY2VzPg0KICAgICAgICA8IS0tIE1ha2Ugc3VyZSB0aGlzIG1hdGNoZXMgdGhlIG5hbWUgb2YgdGhlIEpBUiB5b3UgYXJlIGluc3RhbGxpbmcgLS0+DQogICAgICAgIDxyZXNvdXJjZS1yb290IHBhdGg9InBvc3RncmVzcWwtOS40LTEyMDIuamRiYzQuamFyIi8+DQogICAgPC9yZXNvdXJjZXM+DQogICAgPGRlcGVuZGVuY2llcz4NCiAgICAgICAgPG1vZHVsZSBuYW1lPSJqYXZheC5hcGkiLz4NCiAgICAgICAgPG1vZHVsZSBuYW1lPSJqYXZheC50cmFuc2FjdGlvbi5hcGkiLz4NCiAgICAgICAgPG1vZHVsZSBuYW1lPSJqYXZheC5zZXJ2bGV0LmFwaSIgb3B0aW9uYWw9InRydWUiLz4NCiAgICA8L2RlcGVuZGVuY2llcz4NCjwvbW9kdWxlPg0KYGBgDQoNCiMjIFJlc3RhcnQgV2lsZGZseS4uLg0KDQojIyBWZWxvY2l0eSBOb3RlDQoNCklmIHNvbWUgb2YgdGhlIHVzZWQgY29tcG9uZW50cyBpbiBnZW5lcmF0ZWQgV0FSIHVzZSBWZWxvY2l0eSB5b3Ugd2lsbCBlbmNvdW50ZXIgdGhlIGZvbGxvd2luZyBlcnJvciBpbiBzZXJ2ZXIubG9nIChkdXJpbmcgaG90IGRlcGxveW1lbnQgb3IgV2lsZGZseSByZXN0YXJ0KTogYEVycm9yIGNvbmZpZ3VyaW5nIEF2YWxvbkxvZ1N5c3RlbSA6IGphdmEuaW8uRmlsZU5vdEZvdW5kRXhjZXB0aW9uOiAvdmVsb2NpdHkubG9nIChQZXJtaXNzaW9uIGRlbmllZClgLiBUaGlzIGlzIGR1ZSB0byB0aGUgZmFjdCB0aGF0IHZlbG9jaXR5LnByb3BlcnRpZXMgKGFzIGZvdW5kIGluIHZlbG9jaXR5IGphciwgcGF0aCBgb3JnXGFwYWNoZVx2ZWxvY2l0eVxydW50aW1lXGRlZmF1bHRzXGAgc3RhdGVzOg0KYGBgDQpydW50aW1lLmxvZyA9IHZlbG9jaXR5LmxvZw0KYGBgDQpUaGUgcXVpY2sgc29sdXRpb24gaXMgdG8gY3JlYXRlIGFuIGVtcHR5IGB2ZWxvY2l0eS5sb2dgIGZpbGUgaW4gdGhlIHJvb3Qgb2YgeW91ciBmaWxlIHN5c3RlbSB3aXRoIGZ1bGwgYWNjZXNzICg/KSBmb3Igd2lsZGZseSB1c2VyLg0KIA==
No comments :
Post a Comment