Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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.