Solucionado (ver solução)
Solucionado
(ver solução)
9
respostas

Estou com dúvida no curso de Maven: gerenciando dependências, no exercício do capítulo Convenções e repositórios.

Ao importar meu projeto blog, mesmo antes de inserir a nova dependência, o eclipse acusa a seguinte exception:

"An internal error occurred during: "Importing Maven projects". Unsupported IClasspathEntry kind=4"

9 respostas

Olá Leonardo,

como é que você está importando o projeto no eclipse? Como um projeto maven ou você está rodadndo mvn eclipse:eclipse e importando como um projeto normal?

Olá Willian,

Então, eu estava usando mvn eclipse:eclipse, e depois importando como projeto maven, ai lançava esta exception, importei como projeto do eclipse agora e foi sem erros... mas qual problema exatamente ocorre?

Obrigado!

O eclipse se perde ao importar um projeto como maven e já existe o .project e o .classpath. Para resolver isso, rode um mvn eclipse:clean para remover esses arquivos e importe o o projeto no eclipse. O próprio eclipse rodará os comandos do maven para gerar os arquivos de configuração e baixará as dependências.

Entendi... porém, estou tendo um problema em um projeto exemplo que fiz aqui, executo o mvn eclipse:clean e importo o projeto pelo eclipse, mas ao executá-lo no tomcat, tenho o seguinte erro:

Será que há alguma configuração incorreta que deva estar fazendo o classpath ser gerado incorretamente?

java.io.IOException: Jar: aopalliance-1.0.jar
    at org.apache.catalina.util.ExtensionValidator.validateApplication(ExtensionValidator.java:207)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5256)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:724)
Caused by: java.util.zip.ZipException: invalid block type
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)
    at java.util.zip.ZipInputStream.read(ZipInputStream.java:193)
    at java.util.jar.JarInputStream.read(JarInputStream.java:207)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:273)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
    at java.util.jar.JarInputStream.getBytes(JarInputStream.java:112)
    at java.util.jar.JarInputStream.checkManifest(JarInputStream.java:94)
    at java.util.jar.JarInputStream.<init>(JarInputStream.java:86)
    at java.util.jar.JarInputStream.<init>(JarInputStream.java:62)
    at org.apache.catalina.util.ExtensionValidator.getManifest(ExtensionValidator.java:395)
    at org.apache.catalina.util.ExtensionValidator.validateApplication(ExtensionValidator.java:196)
    ... 9 more

Qual a versão do tomcat que você está usando? Você está usando o plugin do eclipse para subir o tomcat? Qual o seu SO? 32 ou 64 bits? Qual a versão do java?

Diga qualquer informação que seja relevante para ajudar na depuração dos problemas.

Tomcat versão 7.0.42. Uso o plugin do eclipse, ubuntu 13.04 64bits.

java version "1.7.0_25"

Talvez o problema esteja relacionado a estrutura de modulos, pois ainda não sei se faço da forma correta.

Tenho um projeto integrador (.pom), que possui como filhos:

integrador (pom)

mod1 (war)
|-> mod2 (jar)
     |-> mod3 (jar)
           |-> mod4 (jar)
           |-> mod5 (jar)

O módulo web possui o "parent" para o integrador, porém todos os outros modulos não, o web possui a dependencia direta dos outros modulos.

Não penso em algum outra informação que seja relevanete, obrigado!

[]'

Oi Leonardo, eu diria que aquele JAR é corrupto. Tente apagá-lo no seu repositório local e resolve novamente com maven.

Abraços

solução!

Oi Leonardo,

como uma primeira tentativa eu tentaria o que o Nico comentou de baixar um novo tomcat. Depois, eu tentaria subir o servidor diretamente pelo tomcat, sem usar o plugin do eclipse.

Então, consegui resolver ontem, passei por todos os modulos, executando mvn clean eclipse:clean eclipse:eclipse, este problema foi resolvido, porém algum tempo depois, comecei a tomar um erro do tomcat, um "famoso" sobre IllegalArgument DocumentBase, onde ele não consegue fazer o build no servidor, porém não exibe nenhuma exceção que possa ser a causa.