Set up a Java EE 6 development environment
- Java 6 JDK Update 26
- Eclipse IDE for Java EE Developers 3.6.2 (Helios)
- Maven 3.0.3
- Glassfish 3.1
I suggest that you create a folder where you drop all the stuff we need to set-up the environment. My Folder is C:\jee6. I will call that <dev_home> when I refer to it.
Note: In one of my recent posts I explained how to set-up a Spring environment. This process is very simmilar, therefore I will only explain deviations in this Java EE set-up.
Installing Java 6 JDK
See this blog post.
Creating the Eclipse Projects using Maven 3
See my Spring blog where I have explained how to set-up Maven and create a Spring project. The process to create a Java EE 6 project is almost equivalent. The only difference in setting up a Java EE environment is the archetype to use to create the Eclipse Project. When you create the Eclipse project use the following Maven command:
mvn archetype:generate -DarchetypeGroupId=org.jboss.weld.archetypes -DarchetypeArtifactId=weld-jsf-jee -DarchetypeVersion=1.0.0-BETA1 -DgroupId=com.mycompany.jeeapp -DartifactId=jee-app-weld -Dversion=1.0-SNAPSHOT -DinteractiveMode=false
Note: I have also marked the differences in my Spring post to make it obvious where the Spring specifics are during Maven set-up and project creation.
Note: At the time this blog post was created the weld-jsf-jee archetype was in beta state. You may use the 1.0 version when it is available. See here to find out if there is a newer version of this archetype.
Installing Glassfish 3.1
- Go to Glassfish Download page.
- Select Download GlassFish Server Open Source Edition 3.1.
- Then choose the Zip-Archive glassfish-3.1.zip (GlassFish Server 3.1 Open Source Edition Full Platform)
- In your <dev_home> create a folder called glassfish.
- Unzip the Zip-Archive here
After you successfully downloaded a Glassfish copy you need to configure your Eclipse IDE to use Glassfish 3.1 as the target runtime environment. To do this follow these steps:
- Open Eclipse.
- In the Eclipse menu bar select “Window > Show View > Servers”.
- In the “Servers” view right click on the white space and select “New > Server”.
- Select the Link “Download additional server adapters”. Eclipse now downloads available server adapters.
- Accept the license and select “Finish”. The download begins.
- Restart Eclipse to activate the new adapter. When you re-enter Eclipse you see the Glassfish server tools front page.
- Close that view and go to the Workbench.
- In Eclipse go to the “Servers” view (remember: window available at the bottom) and right click in the white space, then select “New > Server”.
- Select GlassFish Server Open Source Edition 3 (Java EE 6) and select “Next”
- Select your home directory for the GlassFish instance you downloaded, that should be <dev_home>/glassfish/glassfish.
- Select “Finish” if possible. Otherwise, you may have to specify a domain. In that case select “Next”.The domain should be preselected, then click “Finish”.
- You should see in the “Servers” view that Glassfish was added.
- To start the server right click on Glassfish server and select “Debug”.
- Go to the “Console” view (another window available at the bottom in the Eclipse workbench) and see how GlassFish talks to you :-). You may need to change into the server.log to see the log entries displayed. I have higlighted the toolbar button where you can change to the server log. To maximize and minimize the “Console” view you need to double click the “Console” tab.
- To verify installation go to your web browser and enter http://localhost:8080.
- Select the Link “goto the Administration Console” to enter the Admin Console.
- You can manage GlassFish in the Admin Console. Take a look around.
- Open Eclipse.
- Enter “Existing” into “Select an import source”.
- Select “Existing Projects into Workspace” and click “Next”.
- Select the root directory of the application you have just created with Maven. This should be <dev_home>\workspace\jee-app-weld. Then select “Finish”.
- The project will be imported. You will notice when you go to the “Markers” view that there are several errors. We have to fix those. Right click the Project “jee-app-weld” and select “Properties” from the context menu.
- Goto “Targeted Runtimes”.
- Select GlassFish and then press “OK”. This should clear all compile errors in your “Markers” view
Unfortunately, when this post was written the demo application archetype was in beta state. So you have to do some stuff to make it functioning properly. It’s a good exercise to get used to Eclipse.
- In Eclipse, press Ctrl+Shift+R. The “Open Resource” dialog shows up.
- In “Select an Item” enter “persistence.xml”, select it in the list below and press “Open”.
- Repeat the last two steps for the file “home.xhtml”.
- You should have opened two files now: persistence.xml and home.xhtml
- Look at my fixed persistence.xml file and make yours look the same.
- I have changed the jta-data-source to the GlassFish setting (default was JBoss) and I have added the property eclipselink.ddl-generation.output-mode to the “Properties for EclipseLink” section. The property makes sure that the database is created on application start-up.
- Save your changes with Ctrl+S (or in the menu bar File > Save).
- The second file to adopt is home.xhtml. Here I have changed <h:dataTable var="_widget" value="#widgets"> to <h:dataTable var="_widget" value="#{widgets}">.
- Save your changes with Ctrl+S (or in the menu bar File > Save).
Note: see this blog entry about persistence.xml and this blog entry about home.xhtml for additional info for the solutions explained above.
We are almost done. Now, you need to explain Eclipse that the GlassFish server is the deployment container. You do this as follows:
- In the “Servers” view right click on the Glassfish server and select “Add and Remove”.
- Select your application and press “Add” to move it in the right section.
- Press “Finish”.
- The last thing to do is to make sure Glassfish starts the integrated Derby database, so you can use the default JDBC datasource. In the menu bar go to “Window > Preferences”.
- Select “GlassFish Preferences” and select the checkbox to enable the JavaDB when the server starts. Then press OK.
That’s it already in terms of preparing Eclipse. Now start the demo application.
- Select the Glassfish server in the “Servers” view and richt click into the context menu, then select “Debug” (make sure the Server is not running already, if so stop the Server first).
- See the “Console” view to verify that the application started properly. Again: double click the “Console” tab to maximize and minimize the view in the workbench. Make sure you see the server.log.
- Go to your web browser and enter http://localhost:8080/jee-app-weld
You’re done. You have created your own Java EE development environment. From here look around a litlle and build your own project.
Reference: “Setting up a Java EE 6 development environment” from our JCG partner Niklas.