Vamos ao passo a passo:
O primeiro passo é gerar um novo setup de projeto do Seam abrindo um console shell e navegando para o diretório raiz do seam no seu ambiente e então executar o comando:
./seam setup
Dica: Para o comando executar corretamente coloquei a seguinte entrada apontando para uma instalação válida de JDK no meu ambiente bem no início do arquivo seam antes do comentário "# Validate the JDK installation".
JAVA_HOME=/home/mmaia/Oracle/Middleware_wl10.3.3/jdk160_18 export JAVA_HOME
Na execução do setup basta responder aos questionamentos conforme seu ambiente local.
Segue abaixo a saída do comando seam setup que utilizei no meu computador para este exemplo abaixo, favor adaptar ao seu ambiente conforme necessidade:
mmaia@mmaia-laptop:~/tools/jboss-seam-2.2.0.GA$ ./seam setup SEAM_HOME: /home/mmaia/tools/jboss-seam-2.2.0.GA Using seam-gen sources from: /home/mmaia/tools/jboss-seam-2.2.0.GA/seam-gen Buildfile: /home/mmaia/tools/jboss-seam-2.2.0.GA/seam-gen/build.xml init: setup: [echo] Welcome to seam-gen 2.2.0.GA :-) [echo] Answer each question or hit ENTER to accept the default (in brackets) [echo] [input] Enter the directory where you want the project to be created (should not contain spaces) [/home/mmaia/projects] [/home/mmaia/projects] /home/mmaia/workspaceGalileoJBossSeam [input] Enter your JBoss AS home directory [C:/Program Files/jboss-5.1.0.GA] [C:/Program Files/jboss-5.1.0.GA] /home/mmaia/tools/jboss-5.1.0.GA [input] Enter your JBoss AS domain [default] [default] seamWeblogic [input] Enter your GlassFish V2 or V3 home directory (Ignore if you aren't deploying to GlassFish) [C:/Program Files/glassfish-v2.1] [C:/Program Files/glassfish-v2.1] [input] Enter your GlassFish domain (Ignore if you aren't deploying to GlassFish) [domain1] [domain1] [input] Enter the project name [myproject] [myproject] seam_weblogic [echo] Accepted project name as: seam_weblogic [input] Do you want to use ICEfaces instead of RichFaces? [n] (y, [n]) n [input] skipping input as property icefaces.home.new has already been set. [input] Select a RichFaces skin [glassX] (blueSky, classic, darkX, deepMarine, DEFAULT, emeraldTown, [glassX], japanCherry, laguna, ruby, wine) wine [input] Is this project deployed as an EAR (with EJB components) or a WAR (with no EJB support)? [war] (ear, [war]) war [input] Enter the base package name for your Java classes [com.mydomain.seam_weblogic] [com.mydomain.seam_weblogic] seamweblogic [input] Enter the Java package name for your session beans [seamweblogic.action] [seamweblogic.action] [input] Enter the Java package name for your entity beans [seamweblogic.model] [seamweblogic.model] [input] Enter the Java package name for your test cases [seamweblogic.test] [seamweblogic.test] [input] What kind of database are you using? [hsql] ([hsql], mysql, derby, oracle, postgres, mssql, db2, sybase, enterprisedb, h2) mysql [input] Enter the filesystem path to the JDBC driver jar [] [] /home/mmaia/Oracle/Middleware_wl10.3.3/wlserver_10.3/server/lib/mysql-connector-java-commercial-5.0.3-bin.jar [input] skipping input as property driver.license.jar.new has already been set. [input] Enter the Hibernate dialect for your database [org.hibernate.dialect.MySQLDialect] [org.hibernate.dialect.MySQLDialect] [input] Enter the JDBC driver class for your database [com.mysql.jdbc.Driver] [com.mysql.jdbc.Driver] [input] Enter the JDBC DataSource class for your database [com.mysql.jdbc.jdbc2.optional.MysqlDataSource] [com.mysql.jdbc.jdbc2.optional.MysqlDataSource] [input] Enter the JDBC URL for your database [jdbc:mysql:///test] [jdbc:mysql:///test] seamweblogic [input] Enter the database username [sa] [sa] seamweblogic [input] Enter the database password [] [] seamweblogic [input] skipping input as property hibernate.default_schema.entered has already been set. [input] Enter the database catalog name (Enter '-' to clear previous value) [] [] seamweblogic [input] Are you working with tables that already exist in the database? [n] (y, [n]) n [input] Do you want to recreate the database tables and execute import.sql each time you deploy? [n] (y, [n]) y [propertyfile] Creating new property file: /home/mmaia/tools/jboss-seam-2.2.0.GA/seam-gen/build.properties [echo] Installing JDBC driver jar to JBoss AS [copy] Copying 1 file to /home/mmaia/tools/jboss-5.1.0.GA/server/seamWeblogic/lib init: init-properties: [echo] /home/mmaia/tools/jboss-5.1.0.GA validate-workspace: validate-project: settings: [echo] JBoss AS home: /home/mmaia/tools/jboss-5.1.0.GA [echo] GlassFish home: C:/Program Files/glassfish-v2.1 [echo] Project name: seam_weblogic [echo] Project location: /home/mmaia/workspaceGalileoJBossSeam/seam_weblogic [echo] Project type: war [echo] IceFaces: n [echo] Action package: mmaia@mmaia-laptop:~/tools/jboss-seam-2.2.0.GA$ ./seam.sh setup [echo] Model package: seamweblogic.model [echo] Test package: seamweblogic.test [echo] JDBC driver class: com.mysql.jdbc.Driver [echo] JDBC DataSource class: com.mysql.jdbc.jdbc2.optional.MysqlDataSource [echo] Hibernate dialect: org.hibernate.dialect.MySQLDialect [echo] JDBC URL: seamweblogic [echo] Database username: seamweblogic [echo] Database password: seamweblogic [echo] [echo] Type './seam create-project' to create the new project BUILD SUCCESSFUL
O próximo passo é gerar o projeto de fato, para isso executar o comando:
./seam new-project
Agora vamos testar primeiro o projeto no jboss. Nesse momento vou começar a utilizar comandos ant navegando para a raiz do projeto criado, na verdade os comandos poderiam ser dados utilizando a chamada ./seam do diretório do seam onde estava, mas como o setup do projeto no seam pode mudar e ele só armazenda os dados do último, sugiro que se acostumem com os comandos ant sempre navegando para a raiz do projeto que o sem criou, é assim que vou continuar aqui.
Com o projeto gerado, navegar então para a raiz do projeto criado e digitar o comando para fazer o deploy expandido no jboss. Nesse momento certifique-se que o servidor e a base de dados que vc especificou no setup do seam acima existem no mysql e na sua instalação de jboss respectivamente digite então o comando no shell:
ant explode
Este comando irá fazer o deploy expandido em modo de desenvolvimento no servidor jboss especificado no setup. Para testar a aplicação inicialize a isntância do jboss e navegue no browser:
http://localhost:8080/seamweblogic
Se tudo for bem deve aparecer uma página do Seam com a mensagem: Welcome to Seam
Bom isso é tudo no que diz respeito à criação do projeto. No próximo post sobre esse assunto iremos migrar o .war do jboss para rodar no weblogic.
[]s