(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)