Como criar uma biblioteca para WAR?

1 resposta
R

(primeiro, acredito que isso é uma dúvida besta, mas não estou conseguindo resolver faz mais de dois dias…)

Gente, tenho um pacote com umas bibliotecas que eu fiz, e coloquei dentro de um jar.

Fiz uma aplicação em modo texto que usa o pacote (não no jar). E consegui testar um código que usa a biblioteca.

Depois, fiz um Servlet que instancia a classe do pacote (mesmo código acima). Quando jogo isso para o WAR, ele não consegue achar a classe da biblioteca!

(recebo um java.lang.NoClassDefFoundError)

Alguém sabe o que estou fazendo de errado?

Obrigado!

Sintomas:

fiz o jar -xvf Minhalib.jar
A estrutura de arquivos está assim:
extracted: br/eng/tavares/database/mysql/Connection_mysql.class
extracted: br/eng/tavares/ia/swarm/particle/Particle.class
extracted: META-INF/MANIFEST.MF

fiz o jar -xvf do war (que vai para o tomcat). Achei o seguinte:
extracted: WEB-INF/classes/AnaliseServlet.class
extracted: WEB-INF/web.xml
extracted: WEB-INF/lib/Minhalib.jar
extracted: WEB-INF/classes/AnaliseLivroPonto.class
extracted: META-INF/context.xml
extracted: META-INF/MANIFEST.MF

o web.xml está assim:
(substituí o marcador por parênteses, pois o portal entendeu como HTML inválido…)

(?xml version=“1.0” encoding=“UTF-8”?)

(web-app xmlns=“<a href="http://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee</a>”

xmlns:xsi=“<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>”

xsi:schemaLocation=“<a href="http://java.sun.com/xml/ns/j2ee">http://java.sun.com/xml/ns/j2ee</a> <a href="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd</a>”

version=“2.4”)

(session-config)

(session-timeout)

30

(/session-timeout)

(/session-config)

(welcome-file-list)

(welcome-file)

index.jsp

(/welcome-file)

(welcome-file)

index.html

(/welcome-file)

(welcome-file)

index.htm

(/welcome-file)

(/welcome-file-list)

(servlet)

(servlet-name)Livro(/servlet-name)

(servlet-class)AnaliseServlet(/servlet-class)

(/servlet)

(servlet-mapping)

(servlet-name)Livro(/servlet-name)

(url-pattern)*.teste(/url-pattern)

(/servlet-mapping)

(resource-ref)

(description)Standard Libraries(/description)

(res-ref-name)br.eng.tavares.database.mysql.Connection_mysql(/res-ref-name)

(res-type)br.eng.tavares.database.mysql(/res-type)

(res-auth)Container(/res-auth)

(/resource-ref)

(/web-app)

1 Resposta

R

Gente, deixa quieto, reiniciei tudo e funcionou…

Acho que estava rodando uma instância antiga ou algo assim…

Criado 18 de fevereiro de 2005
Ultima resposta 18 de fev. de 2005
Respostas 1
Participantes 1