Thursday, July 3, 2014

Install IDE and AS for Java EE7 - Eclipse Luna 4.4 , JBoss WildFly 8.1


See the guide here
https://github.com/wildfly/quickstart/tree/master/guide 

Download Wildfly quickstarts  https://github.com/wildfly/quickstart

 Install latest Oracle JDK

 yum localinstall /home/dave/Downloads/jdk-7u60-linux-x64.rpm   


 Fedora uses OpenJDK by default, to use Oracle JDK  JAVA_HOME must be properly set

 [dave@localhost ~]$ java -version  
 java version "1.7.0_55"  
 OpenJDK Runtime Environment (fedora-2.4.7.0.fc20-x86_64 u55-b13)  
 OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)  
  vi ~/.bash_profile  
 # User specific environment and startup programs  
 JAVA_HOME=/usr/java/jdk1.7.0_60  
 export JAVA_HOME  
 PATH=$JAVA_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin  
 export PATH  
 source ~/.bash_profile  
 [dave@localhost Downloads]$ java -version  
 java version "1.7.0_60"  
 Java(TM) SE Runtime Environment (build 1.7.0_60-b19)  
 Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)  



Download and install latest Eclipse Luna 4.4.

  tar xzvf eclipse-jee-luna-RC3-linux-gtk-x86_64.tar.gz   


Eclipse configuration

 *** Date: Thursday, July 3, 2014 at 10:29:39 PM Central European Summer Time  
 *** Platform Details:  
 *** System properties:  
 applicationXMI=org.eclipse.ui.workbench/LegacyIDE.e4xmi  
 awt.toolkit=sun.awt.X11.XToolkit  
 eclipse.application=org.eclipse.ui.ide.workbench  
 eclipse.buildId=4.4.0.I20140528-2000  
 eclipse.commands=-os  
 linux  
 -ws  
 gtk  
 -arch  
 x86_64  
 -showsplash  
 /home/app/eclipse//plugins/org.eclipse.platform_4.4.0.v20140528-2000/splash.bmp  
 -launcher  
 /home/app/eclipse/eclipse  
 -name  
 Eclipse  
 --launcher.library  
 /home/app/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140521-1744/eclipse_1605.so  
 -startup  
 /home/app/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar  
 --launcher.appendVmargs  
 -exitdata  
 f8010  
 -product  
 org.eclipse.epp.package.jee.product  
 -vm  
 /usr/java/jdk1.7.0_60/bin/java  
 eclipse.home.location=file:/home/app/eclipse/  
 eclipse.launcher=/home/app/eclipse/eclipse  
 eclipse.launcher.name=Eclipse  
 eclipse.p2.data.area=@config.dir/../p2  
 eclipse.p2.profile=epp.package.jee  
 eclipse.product=org.eclipse.epp.package.jee.product  
 eclipse.startTime=1404419236393  
 eclipse.stateSaveDelayInterval=30000  
 eclipse.vm=/usr/java/jdk1.7.0_60/bin/java  
 eclipse.vmargs=-Dosgi.requiredJavaVersion=1.6  
 -XX:MaxPermSize=256m  
 -Xms40m  
 -Xmx512m  
 -jar  
 /home/app/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar  
 equinox.use.ds=true  
 file.encoding=UTF-8  
 file.encoding.pkg=sun.io  
 file.separator=/  
 gosh.args=--nointeractive  
 guice.disable.misplaced.annotation.check=true  
 java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment  
 java.awt.printerjob=sun.print.PSPrinterJob  
 java.class.path=/home/app/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar  
 java.class.version=51.0  
 java.endorsed.dirs=/usr/java/jdk1.7.0_60/jre/lib/endorsed  
 java.ext.dirs=/usr/java/jdk1.7.0_60/jre/lib/ext:/usr/java/packages/lib/ext  
 java.home=/usr/java/jdk1.7.0_60/jre  
 java.io.tmpdir=/tmp  
 java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib  
 java.runtime.name=Java(TM) SE Runtime Environment  
 java.runtime.version=1.7.0_60-b19  
 java.specification.name=Java Platform API Specification  
 java.specification.vendor=Oracle Corporation  
 java.specification.version=1.7  
 java.vendor=Oracle Corporation  
 java.vendor.url=http://java.oracle.com/  
 java.vendor.url.bug=http://bugreport.sun.com/bugreport/  
 java.version=1.7.0_60  
 java.vm.info=mixed mode  
 java.vm.name=Java HotSpot(TM) 64-Bit Server VM  
 java.vm.specification.name=Java Virtual Machine Specification  
 java.vm.specification.vendor=Oracle Corporation  
 java.vm.specification.version=1.7  
 java.vm.vendor=Oracle Corporation  
 java.vm.version=24.60-b09  
 line.separator=  
 org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog  
 org.eclipse.debug.ui.breakpoints.toggleFactoriesUsed=false  
 org.eclipse.equinox.launcher.splash.location=/home/app/eclipse//plugins/org.eclipse.platform_4.4.0.v20140528-2000/splash.bmp  
 org.eclipse.equinox.simpleconfigurator.configUrl=file:org.eclipse.equinox.simpleconfigurator/bundles.info  
 org.eclipse.m2e.log.dir=/home/dave/workspace/.metadata/.plugins/org.eclipse.m2e.logback.configuration  
 org.eclipse.swt.internal.gtk.useCairo=true  
 org.eclipse.update.reconcile=false  
 org.osgi.framework.executionenvironment=OSGi/Minimum-1.0,OSGi/Minimum-1.1,OSGi/Minimum-1.2,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6,JavaSE-1.7  
 org.osgi.framework.language=en  
 org.osgi.framework.os.name=Linux  
 org.osgi.framework.os.version=3.14.4.fc20  
 org.osgi.framework.processor=x86-64  
 org.osgi.framework.system.capabilities=osgi.ee; osgi.ee="OSGi/Minimum"; version:List<Version>="1.0, 1.1, 1.2",osgi.ee; osgi.ee="JRE"; version:List<Version>="1.0, 1.1",osgi.ee; osgi.ee="JavaSE"; version:List<Version>="1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7"  
 org.osgi.framework.system.packages=javax.accessibility,javax.activation,javax.activity,javax.annotation,javax.annotation.processing,javax.crypto,javax.crypto.interfaces,javax.crypto.spec,javax.imageio,javax.imageio.event,javax.imageio.metadata,javax.imageio.plugins.bmp,javax.imageio.plugins.jpeg,javax.imageio.spi,javax.imageio.stream,javax.jws,javax.jws.soap,javax.lang.model,javax.lang.model.element,javax.lang.model.type,javax.lang.model.util,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.monitor,javax.management.openmbean,javax.management.relation,javax.management.remote,javax.management.remote.rmi,javax.management.timer,javax.naming,javax.naming.directory,javax.naming.event,javax.naming.ldap,javax.naming.spi,javax.net,javax.net.ssl,javax.print,javax.print.attribute,javax.print.attribute.standard,javax.print.event,javax.rmi,javax.rmi.CORBA,javax.rmi.ssl,javax.script,javax.security.auth,javax.security.auth.callback,javax.security.auth.kerberos,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.security.sasl,javax.sound.midi,javax.sound.midi.spi,javax.sound.sampled,javax.sound.sampled.spi,javax.sql,javax.sql.rowset,javax.sql.rowset.serial,javax.sql.rowset.spi,javax.swing,javax.swing.border,javax.swing.colorchooser,javax.swing.event,javax.swing.filechooser,javax.swing.plaf,javax.swing.plaf.basic,javax.swing.plaf.metal,javax.swing.plaf.multi,javax.swing.plaf.nimbus,javax.swing.plaf.synth,javax.swing.table,javax.swing.text,javax.swing.text.html,javax.swing.text.html.parser,javax.swing.text.rtf,javax.swing.tree,javax.swing.undo,javax.tools,javax.transaction,javax.transaction.xa,javax.xml,javax.xml.bind,javax.xml.bind.annotation,javax.xml.bind.annotation.adapters,javax.xml.bind.attachment,javax.xml.bind.helpers,javax.xml.bind.util,javax.xml.crypto,javax.xml.crypto.dom,javax.xml.crypto.dsig,javax.xml.crypto.dsig.dom,javax.xml.crypto.dsig.keyinfo,javax.xml.crypto.dsig.spec,javax.xml.datatype,javax.xml.namespace,javax.xml.parsers,javax.xml.soap,javax.xml.stream,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.sax,javax.xml.transform.stax,javax.xml.transform.stream,javax.xml.validation,javax.xml.ws,javax.xml.ws.handler,javax.xml.ws.handler.soap,javax.xml.ws.http,javax.xml.ws.soap,javax.xml.ws.spi,javax.xml.ws.spi.http,javax.xml.ws.wsaddressing,javax.xml.xpath,org.ietf.jgss,org.omg.CORBA,org.omg.CORBA_2_3,org.omg.CORBA_2_3.portable,org.omg.CORBA.DynAnyPackage,org.omg.CORBA.ORBPackage,org.omg.CORBA.portable,org.omg.CORBA.TypeCodePackage,org.omg.CosNaming,org.omg.CosNaming.NamingContextExtPackage,org.omg.CosNaming.NamingContextPackage,org.omg.Dynamic,org.omg.DynamicAny,org.omg.DynamicAny.DynAnyFactoryPackage,org.omg.DynamicAny.DynAnyPackage,org.omg.IOP,org.omg.IOP.CodecFactoryPackage,org.omg.IOP.CodecPackage,org.omg.Messaging,org.omg.PortableInterceptor,org.omg.PortableInterceptor.ORBInitInfoPackage,org.omg.PortableServer,org.omg.PortableServer.CurrentPackage,org.omg.PortableServer.POAManagerPackage,org.omg.PortableServer.POAPackage,org.omg.PortableServer.portable,org.omg.PortableServer.ServantLocatorPackage,org.omg.SendingContext,org.omg.stub.java.rmi,org.w3c.dom,org.w3c.dom.bootstrap,org.w3c.dom.css,org.w3c.dom.events,org.w3c.dom.html,org.w3c.dom.ls,org.w3c.dom.ranges,org.w3c.dom.stylesheets,org.w3c.dom.traversal,org.w3c.dom.views,org.w3c.dom.xpath,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpers  
 org.osgi.framework.uuid=b07b3d6d-f002-0014-1d84-801f434fe7a4  
 org.osgi.framework.vendor=Eclipse  
 org.osgi.framework.version=1.8.0  
 org.osgi.supports.framework.extension=true  
 org.osgi.supports.framework.fragment=true  
 org.osgi.supports.framework.requirebundle=true  
 os.arch=amd64  
 os.name=Linux  
 os.version=3.14.4-200.fc20.x86_64  
 osgi.arch=x86_64  
 osgi.bundles=reference:file:org.eclipse.osgi.compatibility.state_1.0.0.v20140403-1907.jar,reference:file:org.eclipse.equinox.simpleconfigurator_1.1.0.v20131217-1203.jar@1:start  
 osgi.bundles.defaultStartLevel=4  
 osgi.compatibility.bootdelegation=true  
 osgi.configuration.area=file:/home/app/eclipse/configuration/  
 osgi.framework=file:/home/app/eclipse/plugins/org.eclipse.osgi_3.10.0.v20140528-2014.jar  
 osgi.framework.extensions=reference:file:org.eclipse.osgi.compatibility.state_1.0.0.v20140403-1907.jar  
 osgi.framework.shape=jar  
 osgi.framework.useSystemProperties=true  
 osgi.frameworkClassPath=., file:/home/app/eclipse/plugins/org.eclipse.osgi.compatibility.state_1.0.0.v20140403-1907.jar  
 osgi.install.area=file:/home/app/eclipse/  
 osgi.instance.area=file:/home/dave/workspace/  
 osgi.instance.area.default=file:/home/dave/workspace/  
 osgi.logfile=/home/dave/workspace/.metadata/.log  
 osgi.nl=en_US  
 osgi.os=linux  
 osgi.requiredJavaVersion=1.6  
 osgi.splashLocation=/home/app/eclipse//plugins/org.eclipse.platform_4.4.0.v20140528-2000/splash.bmp  
 osgi.splashPath=platform:/base/plugins/org.eclipse.platform  
 osgi.syspath=/home/app/eclipse/plugins  
 osgi.tracefile=/home/dave/workspace/.metadata/trace.log  
 osgi.ws=gtk  
 path.separator=:  
 securerandom.source=file:/dev/./urandom  
 sun.arch.data.model=64  
 sun.boot.class.path=/usr/java/jdk1.7.0_60/jre/lib/resources.jar:/usr/java/jdk1.7.0_60/jre/lib/rt.jar:/usr/java/jdk1.7.0_60/jre/lib/sunrsasign.jar:/usr/java/jdk1.7.0_60/jre/lib/jsse.jar:/usr/java/jdk1.7.0_60/jre/lib/jce.jar:/usr/java/jdk1.7.0_60/jre/lib/charsets.jar:/usr/java/jdk1.7.0_60/jre/lib/jfr.jar:/usr/java/jdk1.7.0_60/jre/classes  
 sun.boot.library.path=/usr/java/jdk1.7.0_60/jre/lib/amd64  
 sun.cpu.endian=little  
 sun.cpu.isalist=  
 sun.desktop=gnome  
 sun.io.unicode.encoding=UnicodeLittle  
 sun.java.command=/home/app/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar -os linux -ws gtk -arch x86_64 -showsplash /home/app/eclipse//plugins/org.eclipse.platform_4.4.0.v20140528-2000/splash.bmp -launcher /home/app/eclipse/eclipse -name Eclipse --launcher.library /home/app/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140521-1744/eclipse_1605.so -startup /home/app/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar --launcher.appendVmargs -exitdata f8010 -product org.eclipse.epp.package.jee.product -vm /usr/java/jdk1.7.0_60/bin/java -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms40m -Xmx512m -jar /home/app/eclipse//plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar  
 sun.java.launcher=SUN_STANDARD  
 sun.jnu.encoding=UTF-8  
 sun.management.compiler=HotSpot 64-Bit Tiered Compilers  
 sun.os.patch.level=unknown  
 user.country=US  
 user.dir=/home/app/eclipse  
 user.home=/home/dave  
 user.language=en  
 user.name=dave  
 user.timezone=Europe/Prague  
 
 



Install Java EE 7 certified JBoss WildFly application server
http://www.wildfly.org/

 8.1.0.Final     2014-05-30     Java EE7 Full & Web Distribution     LGPL  

 tar xzvf wildfly-8.1.0.Final.tar.gz   


Start JBoss AS
 [dave@localhost bin]$ pwd  
 /app/wildfly-8.1.0.Final/bin  
 [dave@localhost bin]$ ./standalone.sh  -c standalone-full.xml


 =========================================================================  
  JBoss Bootstrap Environment  
  JBOSS_HOME: /app/wildfly-8.1.0.Final  
  JAVA: /usr/java/jdk1.7.0_60/bin/java  
  JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true  
 =========================================================================  


To deploy sample from command line  run this in directory with sample code

 [dave@localhost jboss-helloworld]$ mvn install wildfly:deploy 


Install Eclipse JBoss Tools

Install WildFly server

Install JBoss helloworld example


Fix Maven setup for JBoss AS

Use WildFly Maven plugin
https://docs.jboss.org/wildfly/plugins/maven/latest/examples/deployment-example.html



Run deploy from command line
 [dave@localhost jboss-helloworld]$ mvn install wildfly:deploy 



Run example on server