VRaptor - Acessar entidades e DAO's que estão em outro projeto

11 respostas
R

*Consigo reutilizar entidades que estejam em um .jar ou em outro projeto (referenciado pelo Eclipse)?

*Posso ter classes anotadas com @Component em outro projeto ou jar no build path?

Aqui está aparecendo o problema que não encontrou a classe

11 Respostas

G

Sim, consegue. Basta declarar no web.xml o pacote.

R

Como eu faço para declarar os pacotes de mais de um projeto ou mais de um pacote do mesmo projeto? Separo os param-value por ;?

Lucas_Cavalcanti

sim, dentro do param-value separados por vírgula.

R


br.com.caelum.vraptor.packages
br.com.cauirs.sgv.exceptions

Está configurado assim no web.xml, e o projeto está referenciado no Build Path. Porém, o erro persiste durante a inicialização do VRaptor:

GRAVE: Exception starting filter vraptor

java.lang.NoClassDefFoundError: br/com/cauirs/sgv/exceptions/ExcelException

at java.lang.Class.getDeclaredMethods0(Native Method)

at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
Lucas_Cavalcanti

não basta estar no Build Path, precisa estar na pasta WEB-INF/lib, ou marcado no eclipse para exportar pra lá.

R

Aonde marco no Eclipse para exportar o projeto para a WEB-INF/lib? Order And Export?

Lucas_Cavalcanti

não, tem um java EE Module Dependencies, ou algo do tipo na configuração do projeto.

R

Em Web Deployment Assembly

*Coloquei como Source o projeto que quero referenciar na aplicação.
E no Deploy Path: WEB-INF/lib/NomeDoProjeto.war

*Mantive o projeto no Build Path

*Mantive a configuração no web.xml, conforme tópico anterior

Continuou o mesmo erro.

O Scannotation no VRaptor procura também em arquivos .war do classpath?

=====================

Só para constar no tópico:

Na nova versão do Eclipse o nome mudou para Web Deployment Assembly
http://www.mkyong.com/eclipse/eclipse-java-ee-module-dependencies-is-replaced-by-web-deployment-assembly/

Lucas_Cavalcanti

não é war… vc precisa colocar o outro projeto como um jar.

ou criar um projeto java normal intermediario referenciando nos dois projetos web.

R

Lucas,

Ainda estou com dificuldades em ligar os projetos. Agora em um outro caso… ( o outro, como eram só alguns testes, acabei copiando temporariamente todas as classes do projeto para dentro do outro… )

Tenho um projeto chamado: Cobranca. Nele há uma interface que define os métodos que um Sacado deve possuir.
Ex:

public interface Sacado { public String getNome(); .... }

No projeto web utilizando o VRaptor. Tenho o jar desse projeto no build path. E coloquei no web.xml

<context-param> <param-name>br.com.caelum.vraptor.packages</param-name> <param-value>br.com.caelum.vraptor.restfulie,br.com.cauirs.cobranca</param-value> </context-param>

E a entidade que implementa o Sacado

@Entity public class Aluno implements Sacado { ... }

No entanto, ao subir a aplicação com o VRaptor dá o seguinte erro:

<blockquote>Caused by: java.lang.ClassNotFoundException: br.com.cauirs.cobranca.Sacado

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)

… 39 more</blockquote>

Aonde estou errando?

Lucas_Cavalcanti

é uma referência de projeto? ou é um jar?

se for referencia precisa mandar exportar.

Criado 30 de dezembro de 2011
Ultima resposta 23 de fev. de 2012
Respostas 11
Participantes 3