Erro .classpath com Maven

1 resposta
J

Boa tarde galera.

Meu problema é o seguinte. Estou criando um projeto web pelo eclipse usando o plugin do Maven. Depois vou em Project Facets e adiciono o JSF. Até ai tranquilo.

Nesse momento o .classpath do projeto está assim:

<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/> <classpathentry exported="true" kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> </attributes> </classpathentry> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> <attributes> <attribute name="owner.project.facets" value="java"/> </attributes> </classpathentry> <classpathentry kind="output" path="target/classes"/> </classpath>

Em seguida eu crio um .xhtml, starto o TomCat e a página abre tranquilo. O problema ocorre toda vez que eu executo o comando mvn eclipse:eclipse. Parece que ele desconfigura o .classpath do projeto, ficando assim:

<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/> <classpathentry kind="output" path="target/classes"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="var" path="M2_REPO/junit/junit/3.8.1/junit-3.8.1.jar"/> </classpath>

Dai toda vez que tento iniciar a aplicação, aparece a seguinte exceção:

Grave: Error loading WebappClassLoader context: /sisconfi delegate: false repositories: /WEB-INF/classes/ ----------> Parent Classloader: org.apache.catalina.loader.StandardClassLoader@ca9f25 javax.faces.webapp.FacesServlet java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1128) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1026) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) 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)

Parece que o TomCat não acha mais as bibliotecas. Antes que alguém me pergunte, sim, elas estão no Build Path.

Andei pesquisando e descobri que é exatamente pela mudança no .classpath. Não teria como eu configurar para depois de rodar o comando do maven, não desconfigurar o .classpath?

Vlw

1 Resposta

J

Bem galera,

eu descobri que depois de rodar o comando eclipse:eclipse o maven atualiza o .classpath do projeto e depois disso o TomCat não acha mais as libs.

Para resolver isso basta apenas clicar com o botão direito em cima do projeto -> Maven -> Update Project Configuration -> Selecionar o Projeto e clicar em OK.

Depois só da refresh no projeto e um clean no TomCat e pronto, problema resolvido.

A questão é que toda vez que se usar o eclipse:eclipse será necessário seguir esse passos.

Abs.

Criado 17 de setembro de 2012
Ultima resposta 17 de set. de 2012
Respostas 1
Participantes 1