Pergunta

Eu tenho um projeto Java Maven2 simples (sistema de retransmissão JMS). Depois de lançarmos a primeira versão, descobrimos que passamos mais tempo configurando o Maven do que a codificação.

Para o próximo lançamento, queríamos limpar o processo de construção e alguém sugeriu migrar para o construtor. Então, eu fui encarregado de fazer exatamente isso.

Eu configurei o Buildr (1.3.4) de acordo com a documentação em seu site. E depois da raiz do projeto, digitei o comando Buildr e depois informei o Buildr para criar o arquivo de compilação com base no meu pom.xml. Isso processou bem e compilou todo o código. Tudo estava molho até o Buildr começar a executar os testes. Aqui está o OPUT:

Test framework error: taskdef class org.apache.tools.ant.taskdefs.optional.junit.JUnitTask cannot be found

Obviamente, a classe especificada não está no meu caminho de classe. No entanto, a documentação do Buildr diz que todos os itens necessários para testes básicos estão incluídos. A documentação deles não diz que eles precisam de bibliotecas específicas para ANT ou uma versão da ANT. Embora eu tenha a ANT 1.7.0 instalada (não incluída no meu caminho de classe).

Alguém viu isso antes?


Atualizar

Localizei o infame frasco-opcional no repositório Maven. Incluindo isso no meu teste. Com opções não resolveu o problema.

Executar o comando Buildr com -TRACE fornece essas informações extras ...

Tests failed!
/pathtoruby/buildr-1.3.4/lib/buildr/core/test.rb:455:in `run_tests'
/pathtoruby/buildr-1.3.4/lib/buildr/core/test.rb:199:in `initialize'
Foi útil?

Solução

Encontrei o problema ... aparentemente, existe uma junit de formiga.Jar que é necessária, mas por qualquer motivo no meu repositório local, era de propriedade da raiz e não da minha conta de usuário local (sistema OSX). Portanto, não era acessível ao Buildr. Excluí os itens do meu repositório local e RERAN Buildr (baixou os itens necessários).


Atualizar

Também isso causou alguns outros problemas. Parece que alguns outros itens do meu repositório local tiveram permissões estranhas. Acabei apenas arquivando meu repositório e deixando o Maven o reconstruir. Isso resolveu todos os meus problemas. Agora, tenho um bom arquivo de compilação com 25 linhas de código em comparação com o meu arquivo POM.xml anterior, com mais de 100 linhas.

Outras dicas

Você recebe esse erro porque o JunitTask não está no caminho de classe. Não estou muito familiarizado com o Buildr, por isso não posso dizer se é necessário para você especificar os potes do Junit ou não, mas se o Buildr usar o System ClassPath, tente adicionar o Junit e ver o que acontece.

Depois de confirmar que suas construções serão executadas com o JUNIT invadido o caminho de classe, você pode tentar variar sua configuração até que ela funcione como você esperava ou deixá -lo como está.

Você pode postar a referência à parte relevante da documentação? Não vi nada (na minha breve leitura do site) que diz que os itens necessários estão incluídos.

É possível que você não baixasse todas as jóias? Se você executar "Gem Atualize - -System" para atualizar o Ruby, então "Gem Update Buildr", poderá garantir que todas as dependências necessárias tenham sido instaladas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top