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

Falha na dependência xstream no maven

Na execução dos testes do projeto durante o ciclo do maven, um caso de teste falha, impossibilitando assim a continuidade do processo.

Notei que o teste está falhando por conta de um NoClassDefFoundError, que resulta em um MojoFailureException no maven. O caso de teste que falha é o testLeitorDeXmlCarregaListaDeNegocio, e a classe não encontrada é a com/thoughtworks/xstream/io/HierarchicalStreamDriver.

Abri o pom.xml e alterei a versão da dependência do xstrem de 1.2.2 para 1.4.10, executei o comando maven diretamente no terminal e funcionou. Como dentro do Pipeline do Jenkins o repositório é clonado diretamente do GitHub, sigo travando neste problema.

Como posso resolver?

10 respostas

Fala ai Thomas, de boa ?

Cara vi que esse tópico tá aberto a uma semana, será que já conseguiu resolver?

Se sim, fala para gente como fez ?

Boa tarde, infelizmente ainda não consegui resolver.

Olá, Thomas.

Qual a sua versão do Maven?

Você pode descobrir executando:

mvn -v

Eu rodei por aqui e tudo funcionou...

A minha versão é a Apache Maven 3.5.0

Minha versão é a Apache Maven 3.5.2

Thomas,

Não consegui reproduzir o erro.

Você já tentou acessar, por um Terminal, o diretório raiz do argentum-web e executar o comando:

mvn clean package

Acontece algum erro? Qual o stack trace?

Quando clono o repositório em minha máquina, basta eu modificar a versão da dependência do xstrem de 1.2.2 para 1.4.10 que o build do maven funciona.

O problema ocorre durante pipeline do Jenkins, pois ele clona o código fonte diretamente do GitHub, não sendo possível que eu faça essa correção antes de disparar a etapa do maven.

Para visualizar o stacktrace acesse aqui.

Olá, Thomas.

Desculpe a demora. Não consegui reproduzir o erro.

Uma solução paliativa é você fazer um Fork do repositório do argentum-web no GitHub e comitar e fazer push da sua alteração no seu repositório.

No Job do Jenkins, use a URL do seu repositório.

Ao invés de:

https://github.com/alura-cursos/argentum-web

use seu usuário:

https://github.com/[seu-usuario-aqui]/argentum-web

solução!

Olá, Thomas.

Desculpe a demora. Não consegui reproduzir o erro.

Uma solução paliativa é você fazer um Fork do repositório do argentum-web no GitHub e comitar e fazer push da sua alteração no seu repositório.

No Job do Jenkins, use a URL do seu repositório.

Ao invés de:

https://github.com/alura-cursos/argentum-web

use seu usuário:

https://github.com/[seu-usuario-aqui]/argentum-web

Fiz o fork. Muito obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software