elas devem estar no EAR mesmo se eu não utilizar nos outros projetos? [/quote]
O EAR na verdade é apenas uma casca para você empacotar a aplicação. Ou seja, o jar que está no EAR deve ser usado em outros projetos.
elas devem estar no EAR mesmo se eu não utilizar nos outros projetos? [/quote]
O EAR na verdade é apenas uma casca para você empacotar a aplicação. Ou seja, o jar que está no EAR deve ser usado em outros projetos.
[quote=bruno.costa]ta no projeto mas quando faço deploy do EAR
dentro da pasta do projeto web nao tem nada so
\WEB-INF\lib e não estão lá os jars que o eclipse mostra dentro da pasta WEB-INF\lib
ao fazer o deploy do war fora do ear ele vai com tudo
pq isso?[/quote]
Isso depende da forma que você empacota a aplicação. Você está usando o Eclipse ou um ant-build? O que pode estar errado é a configuração do projeto EAR do eclipse ou teu ant-build.
[quote=garcia-jj][quote=bruno.costa]ta no projeto mas quando faço deploy do EAR
dentro da pasta do projeto web nao tem nada so
\WEB-INF\lib e não estão lá os jars que o eclipse mostra dentro da pasta WEB-INF\lib
ao fazer o deploy do war fora do ear ele vai com tudo
pq isso?[/quote]
Isso depende da forma que você empacota a aplicação. Você está usando o Eclipse ou um ant-build? O que pode estar errado é a configuração do projeto EAR do eclipse ou teu ant-build.[/quote]
to usando o eclipse… eu nao mudei nada, reiniciei a maquina e ele fez o deploy certo :shock:
agora to pensando se eu passei o dia todo fazendo re-fazendo configuração pra depois voltar tudo igual estava a primeira vez, reiniciar a maquina e funcionar :shock:
so está dando um erro pra publicar, mas a aplicação roda sem problemas!
AVISO: PWC6351: In TLD scanning, the supplied resource file:/C:/Program%20Files/JavaDesenv/AppServer/glassfishv3/glassfish/domains/domain1/eclipseApps/HungrooEAR/HungrooEJBClient.jar does not exist
esse jar está no lib do ear
HungrooEAR/lib/HungrooEJBClient.jar
não encontrei ninguém fazendo referencia a este endereço
O EJB client não deve estar no lib do EAR, mas sim no mesmo nível do EAR e estar declarado no manifest dos projetos que precisam do ejb-client.
Dê uma pesquisada na documentação do J2EE sobre a estrutura de uma aplicação enterprise. Lá tem bem definido como deve ser a estrutura, inclusive os relacionamentos entre módulo ejb e ejb-client, bem como webapps e EARs.
[quote=garcia-jj]O EJB client não deve estar no lib do EAR, mas sim no mesmo nível do EAR e estar declarado no manifest dos projetos que precisam do ejb-client.
Dê uma pesquisada na documentação do J2EE sobre a estrutura de uma aplicação enterprise. Lá tem bem definido como deve ser a estrutura, inclusive os relacionamentos entre módulo ejb e ejb-client, bem como webapps e EARs.[/quote]
humm, colocando eles no mesmo nivel a aplicação nem funciona :shock: :shock:
Tem coisa errada no seu projeto. Até porque o Eclipse cria automagicamente toda a estutura para ti certinho, pronta para desenvolver e fazer deploy com os servidores embedded e exportar via EAR.
Um projeto EAR nada mais é do que uma casca que serve apenas para unir os outros projetos em um único pacote, o xxx.ear. Nele você tem os deployment descriptors application.xml (e derivados), além das libs compartilhadas por todos os subprojetos.
Um módulo EJB não pode conter libs dentro dele. Para isso ele usa as libs que estão no EAR, e assim você precisa declara-las no manifest desse módulo EJB.
Cada módulo EJB deve ter um ejb-client, que nada mais é do que um jar que contém as interfaces remotas/locais e as homes (caso aplicar). Qualquer lib que esse módulo possuir deve também estar dentro do EAR e você precisa declara-las no manifest do módulo ejb-client.
Você pode também ter um módulo web. Qualquer lib que ele precisa e que esteja dentro do EAR deve ser declarada no manifest também. As libs que sejam apenas para o módulo web devem estar dentro do WEB-INF/lib e não precisam ser declaradas no manifest.
Por fim, quando o EAR é gerado você terá basicamente um diretório com as libs externas. O jar com o módulo EJB, o jar com o módulo ejb-client e o WAR do teu projeto web deverão estar na raíz do EAR.
[quote=garcia-jj]Tem coisa errada no seu projeto. Até porque o Eclipse cria automagicamente toda a estutura para ti certinho, pronta para desenvolver e fazer deploy com os servidores embedded e exportar via EAR.
Um projeto EAR nada mais é do que uma casca que serve apenas para unir os outros projetos em um único pacote, o xxx.ear. Nele você tem os deployment descriptors application.xml (e derivados), além das libs compartilhadas por todos os subprojetos.
Um módulo EJB não pode conter libs dentro dele. Para isso ele usa as libs que estão no EAR, e assim você precisa declara-las no manifest desse módulo EJB.
Cada módulo EJB deve ter um ejb-client, que nada mais é do que um jar que contém as interfaces remotas/locais e as homes (caso aplicar). Qualquer lib que esse módulo possuir deve também estar dentro do EAR e você precisa declara-las no manifest do módulo ejb-client.
Você pode também ter um módulo web. Qualquer lib que ele precisa e que esteja dentro do EAR deve ser declarada no manifest também. As libs que sejam apenas para o módulo web devem estar dentro do WEB-INF/lib e não precisam ser declaradas no manifest.
Por fim, quando o EAR é gerado você terá basicamente um diretório com as libs externas. O jar com o módulo EJB, o jar com o módulo ejb-client e o WAR do teu projeto web deverão estar na raíz do EAR.[/quote]
por isso achei estranho, ao colocar no Deployment Assembly o projeto client ele automaticamente jogou pra /lib
mas estou acertando isso… obrigado pela ajuda e pelas informações.
EDITANDO…
ARRUMEI TUDO 
outro erro, ao ativar o CDI
org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type javax.enterprise.context.RequestScoped
Lucas, baixei o VRaptor do Maven Central através do Maven… Mesmo com todos os jars no classpath continuo como o erro abaixo:
GRAVE: Exception starting filter vraptor
java.lang.IllegalArgumentException: You don’t have any DI container jars on your classpath. You can find them on vraptor-3.x.x.zip, so you must put one of the lib/containers/ jars on your classpath, where is your preferred container.
at br.com.caelum.vraptor.config.BasicConfiguration.getProviderType(BasicConfiguration.java:101)
at br.com.caelum.vraptor.config.BasicConfiguration.getProvider(BasicConfiguration.java:70)
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:103)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:115)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
vc colocou no seu pom.xml, ou só baixou o jar direto do maven?
se só baixou o jar, baixe o zip do VRaptor para ver as dependências:
http://vraptor.caelum.com.br/download.jsp
[quote=Lucas Cavalcanti]vc colocou no seu pom.xml, ou só baixou o jar direto do maven?
se só baixou o jar, baixe o zip do VRaptor para ver as dependências:
http://vraptor.caelum.com.br/download.jsp[/quote]
esse link ta fora.
o maven.caelum.com.br tbm ta fora…
Onde acho a tag repository com as dependencias mandatórias do vraptor, 3/4?
Acho que não consegui migrar pro 4 por essas dependencias, o maven nao da erro de build mas no tomcat não sobe a aplicação.
O erro é esse:
You don't have any DI container jars on your classpath. You can find them on vraptor-3.x.x.zip, so you must put one of the lib/containers/<container> jars on your classpath, where <container> is your preferred container.
Tomcat7
JDK 7
Pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>br.com.projeto.vraptor</groupId>
<artifactId>vraptor-ajax</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>VRaptor 3 Custom</name>
<description>Projeto VRaptor 3 for Ajax and Hibernate</description>
<url></url>
<repositories>
<repository>
<id>reflections-repo</id>
<name>Reflections Maven2 Repository</name>
<url>http://reflections.googlecode.com/svn/repo</url>
</repository>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://caelum.maven.org</url>
</repository>
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2/</url>
</repository>
</repositories>
<profiles>
<!-- JBoss AS Profile -->
<profile>
<id>jboss</id>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
<version>1.0.1B</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>1.2_08</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>1.2_08</version>
<scope>provided</scope>
</dependency>
</dependencies>
</profile>
<!-- Apache Tomcat Profile -->
<profile>
<id>tomcat</id>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/log4j.*</include>
</includes>
</resource>
</resources>
</build>
</profile>
</profiles>
<!-- Dialeto Banco -->
<dependencies>
<dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.1-901-1.jdbc4</version>
</dependency>
<!-- Pool de Banco -->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<!-- Log do Pool -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.7</version>
</dependency>
<!-- tests -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jmock</groupId>
<artifactId>jmock-junit4</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.5</version>
</dependency>
<!-- VRaptor -->
<dependency>
<groupId>br.com.caelum</groupId>
<artifactId>vraptor</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
<!-- hibernate -->
<!-- <dependency> -->
<!-- <groupId>org.hibernate</groupId> -->
<!-- <artifactId>hibernate-core</artifactId> -->
<!-- <version>3.3.2.GA</version> -->
<!-- </dependency> -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.4.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-commons-annotations</artifactId>
<version>3.3.0.ga</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>3.4.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.3.1.Final</version>
</dependency>
<!-- banco de test unitario -->
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb-j5</artifactId>
<version>2.2.4</version>
</dependency>
<!-- CDI -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<!-- Drivers para o hibernate -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- log -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
<build>
<finalName>vraptor</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<excludes>
<exclude>**/log4j.*</exclude>
</excludes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.0-beta-3</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.8</version>
<configuration>
<additionalProjectFacets>
<jst.web>2.5</jst.web>
</additionalProjectFacets>
<wtpapplicationxml>true</wtpapplicationxml>
<wtpversion>2.0</wtpversion>
</configuration>
</plugin>
<plugin>
<groupId>br.com.caelum.vraptor</groupId>
<artifactId>vraptor-maven-plugin</artifactId>
<version>0.0.2</version>
<configuration>
<package_root>br.com.central</package_root>
<persistenceAPI>hibernate</persistenceAPI>
</configuration>
</plugin>
</plugins>
</build>
</project>
vc está começando um projeto?
se sim, comece já com o VRaptor 4.
vc pode ver exemplos de poms aqui:
no lugar do ${project.version} coloque 4.0.0.Final