Product SiteDocumentation Site

3.2. Setting up a new Seam project

Start up Eclipse and select the Seam perspective.
Go to File -> New -> Seam Web Project.
First, enter a name for your new project. For this tutorial, we're going to use helloworld .
Now, we need to tell JBoss Tools about JBoss AS. This is a two stage process, first we need to define a runtime, make sure you select JBoss AS 4.2:
Enter a name for the runtime, and locate it on your hard drive:
Next, we need to define a server JBoss Tools can deploy the project to. Make sure to again select JBoss AS 4.2, and also the runtime you just defined:
On the next screen give the server a name, and hit Finish:
Make sure the runtime and server you just created are selected, select Dynamic Web Project with Seam 2.0 (technology preview) and hit Next:
The next 3 screens allow you to further customize your new project, but for us the defaults are fine. So just hit Next until you reach the final screen.
The first step here is to tell JBoss Tools about the Seam download you want to use. Add a new Seam Runtime - make sure to give it a name, and select 2.0 as the version:
The most important choice you need to make is between EAR deployment and WAR deployment of your project. EAR projects support EJB 3.0 and require Java EE 5. WAR projects do not support EJB 3.0, but may be deployed to a J2EE environment. The packaging of a WAR is also simpler to understand. If you installed an EJB3-ready application server like JBoss, choose EAR. Otherwise, choose WAR. We'll assume that you've chosen a WAR deployment for the rest of the tutorial, but you can follow exactly the same steps for a EAR deployment.
Next, select your database type. We'll assume you have MySQL installed, with an existing schema. You'll need to tell JBoss Tools about the database, select MySQL as the database, and create a new connection profile. Select Generic JDBC Connection:
Give it a name:
JBoss Tools doesn't come with drivers for any databases, so you need to tell JBoss Tools where the MySQL JDBC driver is. Tell it about the driver by clicking ....
Locate MySQL 5, and hit Add...:
Choose the MySQL JDBC Driver template:
Locate the jar on your computer by choosing Edit Jar/Zip:
Review the username and password used to connect, and if correct, hit Ok.
Finally, choose the newly created driver:
If you are working with an existing data model, make sure you tell JBoss Tools that the tables already exist in the database.
Review the username and password used to connect, test the connection using the Test Connection button, and if it works, hit Finish:
Finally, review the package names for your generated beans, and if you are happy, click Finish:
JBoss has sophisticated support for hot re-deployment of WARs and EARs. Unfortunately, due to bugs in the JVM, repeated redeployment of an EAR—which is common during development—eventually causes the JVM to run out of perm gen space. For this reason, we recommend running JBoss in a JVM with a large perm gen space at development time. We suggest the following values:
         -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512
If you don't have so much memory available, the following is our minimum recommendation:
         -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256
Locate the server in the JBoss Server View, right click on the server and select Edit Launch Configuration:
Then, alter the VM arguements:
If you don't want to bother with this stuff now, you don't have to—come back to it later, when you get your first OutOfMemoryException.
To start JBoss, and deploy the project, just right click on the server you created, and click Start, (or Debug to start in debug mode):
Don't get scared by the XML configuration documents that were generated into the project directory. They are mostly standard Java EE stuff, the stuff you need to create once and then never look at again, and they are 90% the same between all Seam projects.