Maven 2 - experiências e histórias

Olá

Estou P da vida com o tal do Maven. Estou tentando colocar para funcionar o web console do ActiveMQ seguindo as instruções do site. O Maven fica trocentas horas tentando baixar mil coisas, mostra um monte de erro que juro que não tenho nada a ver com isto e no fim o tal de web console não funciona.

O ActiveMQ é muito ruim de documentação. O tal de hermes é outra droga. Alguém sabe o telefone das mães do James Strachan e do Hiran Quirino para que eu possa fazer queixa dos filhos delas?

[]s
Luca

[quote=Luca]Olá

Estou P da vida com o tal do Maven. Estou tentando colocar para funcionar o web console do ActiveMQ seguindo as instruções do site. O Maven fica trocentas horas tentando baixar mil coisas, mostra um monte de erro que juro que não tenho nada a ver com isto e no fim o tal de web console não funciona.

O ActiveMQ é muito ruim de documentação. O tal de hermes é outra droga. Alguém sabe o telefone das mães do James Strachan e do Hiran Quirino para que eu possa fazer queixa dos filhos delas?

[]s
Luca[/quote]
achei o maven um pouco complexo, se vc nao tomar cuidado se perde ali, é tanta configuração em xml, eu to querendo aprender, mas to vendo que terei uma longa jornada …

Mas então, alguém sabe se dá pra aplicar o maven em projetos já existentes ? Ou o aconselhável é aplicar no ínicio do projeto ?

É aconselhável aplicar no início do projeto, mas se você já tem um projeto andando, dá pra aplicar ele também, é só reconfigurar o bixo, o que é meio chatinho de se fazer.

Bom de usar o Maven é quando você pode seguir tudo padronizado.

tudo padronizado em que padrão ? do maven ?
quero poder escolher o meu padrão … eu não posso ?

Seu padrão é melhor do que o do Maven?

nenhum padrão é melhor do que o de ninguém, só que como o projeto já existe, eu não quero mudar na estrutura de diretórios, entendeu ? Quero saber se o Maven é flexível ao ponto de se adequar um padrão de outrem.
Se não for possível, realmente, um ponto a menos para o Maven. :cry:

É claro que é possível, o caso é que se você usa o padrão do Maven, qualquer pessoa que use o Maven vai saber exatamente onde encontrar tudo no seu projeto.

Você não vai precisar ficar dizendo a ele que os fontes ficam “aqui”, os fontes de teste ficam “ali”, as configuração fica “acolá” e a aplicação web fica “naquele outro lugar”.

Olá

Concordo, mas BOM mesmo é ir na página do ActiveMQ e tentar fazer funcionar o web console. Pelo menos umas 3 horas gastei antes de desistir e me achar burro demais para entender porque todas as vezes que tentei o comando ele baixa trocentos trecos com um monte de mensagens de erro de CHECKSUM, outras mensagens inintelígíveis, etc e tal.

Piiii, socorro, salvem-me desta dupla Maven-ActiveMQ que parece que entrou para o PCC.

[]s
Luca

Qual é o problema exatamente Luca?

Olá

Mauricio, o problema deve ser simples (para o James Strachan) :oops:

[quote=site do ActiveMQ]
The ActiveMQ Web Console is a simple web application for working with ActiveMQ.

To run the ActiveMQ Web Console follow these instructions

* install Maven 2.0.4 or later
* grab the latest Source of ActiveMQ
* type the following commands into a command shell

mvn clean install -Dmaven.test.skip=true
cd activemq-web-console
mvn jetty:run

Now point your browser at http://localhost:8080/activemq-web-console[/quote]

Com o primeiro comando mvn, no meu console aparece um monte de:
[color=red]0b downloaded
[WARNING] *** CHECKSUM FAILED - Invalid checksum file - RETRYING
Downloading: http://maven-csharp.javaforge.com/repo/geronimo/geron
eronimo-core-1.0.pom
0b downloaded
[WARNING] *** CHECKSUM FAILED - Invalid checksum file - IGNORING
[/color]

Demora um tempão até teminar com milhares de linhas no console (deveria ter redirecionado a saida para um arquivo).

[quote=fim do console]
[WARNING] Unable to get resource from repository maven-csharp-plugins (http://maven-csharp.javaforge.com/repo)
Downloading: http://cvs.apache.org/maven-snapshot-repository/org/codehaus/mojo/j
avacc-maven-plugin/0.6.1-SNAPSHOT/javacc-maven-plugin-0.6.1-SNAPSHOT.pom
[WARNING] Unable to get resource from repository apache.snapshots (http://cvs.apache.org/maven-snapshot-repository)
Downloading: http://snapshots.maven.codehaus.org/maven2/org/codehaus/mojo/javacc
-maven-plugin/0.6.1-SNAPSHOT/javacc-maven-plugin-0.6.1-SNAPSHOT.pom
[WARNING] Unable to get resource from repository codehaus-snapshot (http://snapshots.maven.codehaus.org/maven2)
Downloading: http://maven-csharp.javaforge.com/repo/org/codehaus/mojo/javacc-mav
en-plugin/0.6.1-SNAPSHOT/javacc-maven-plugin-0.6.1-SNAPSHOT.pom
0b downloaded
[WARNING] *** CHECKSUM FAILED - Invalid checksum file - RETRYING
Downloading: http://maven-csharp.javaforge.com/repo/org/codehaus/mojo/javacc-mav
en-plugin/0.6.1-SNAPSHOT/javacc-maven-plugin-0.6.1-SNAPSHOT.pom
0b downloaded
[WARNING] *** CHECKSUM FAILED - Invalid checksum file - IGNORING
[WARNING] Unable to get resource from repository maven-csharp (http://maven-csharp.javaforge.com/repo)
Downloading: http://cvs.apache.org/repository/org.codehaus.mojo/poms/javacc-mave
n-plugin-0.6.1-SNAPSHOT.pom
[WARNING] Unable to get resource from repository apache-maven1-snapshot (http://
cvs.apache.org/repository)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

GroupId: org.codehaus.mojo
ArtifactId: javacc-maven-plugin
Version: 0.6.1-SNAPSHOT

Reason: Unable to download the artifact from any repository

org.codehaus.mojo:javacc-maven-plugin:pom:0.6.1-SNAPSHOT

from the specified remote repositories:
central (http://repo1.maven.org/maven2),
codehaus.snapshots (http://snapshots.maven.codehaus.org/maven2),
apache.snapshots (http://cvs.apache.org/maven-snapshot-repository),
maven-csharp-plugins (http://maven-csharp.javaforge.com/repo),
codehaus-snapshot (http://snapshots.maven.codehaus.org/maven2),
apache-maven1-snapshot (http://cvs.apache.org/repository),
maven-csharp (http://maven-csharp.javaforge.com/repo)

[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7 minutes 43 seconds
[INFO] Finished at: Thu Aug 31 21:02:55 BRT 2006
[INFO] Final Memory: 8M/25M
[INFO] ------------------------------------------------------------------------

C:\ArquivosSetup\ActiveMQ\incubator-activemq-4.0.2&gt[/quote]

Mesmo com o erro no build ainda tento o segundo comando mvn. Mas ele não funciona de jeito algum. Fuçando MUITO achei que se fizesse mvn jetty6:run teria mais chances e isto foi verdade porque pelo menos não deu erro logo de cara. É claro que quando tento acessar a tal página o jetty não está no ar provavelmente por causa do erro do build.

Meu principal problema é arranjar um console administrativo para o ActiveMQ. Uma outra opção é o hermes que é outra droga com documentação fraca.

E também meus testes não estão funcionando com o ActiveMQ 4.0.2 com Java 6. Só funcionam com um ActiveMQ mais antigo.

Estou arrancando os meus cabelos mas minha vontade era escalpelar os caras que fizeram esta josta. E o pior que minha intenção vai mais além porque o que quero mesmo é usar o FUSE com SOA. O ActiveMQ é só a primeira etapa.

[]s
Luca

Me passa o link pra baixar esse web console aqui pra eu tentar rodar a coisa :smiley:

Olá

http://www.activemq.org/site/web-console.html

Mas antes você precisa baixar o ActiveMQ. Aliás, se nunca brincou com JMS, aconselho fortemente comprar o livro Java Messaging do Eric Bruno. O livro é muito bom!

[]s
Luca

Realmente, como qualquer projeto novo não há uma grande documentação do Maven 2, principalmente dos seus plugins. Mas quem chegou a usar o Maven 1.0 teve o mesmo problema inicialmente, mas com o tempo a documentação será feita. A maior falta hoje é um plugin estável (pelo menos pro Eclipse, não sei do NetBeans) do Maven 2, no maven 1.0 o MavenIDE era bonzinho.
Quanto a estrutura de diretórios padrões -> http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

e ao XML -> http://maven.apache.org/ref/2.0.3-SNAPSHOT/maven-model/maven.html
o XML tenho q concordar que é um pouco extenso se quiser usar tudo (mas aposto q só usamos uma meia duzia de tags diferentes), mas quem sabe com o plugin na versao 1.0 não ficará facil :slight_smile:

Qto ao ActiveMQ eu nem sabia que existia… :stuck_out_tongue:
Voce está usando plugin do Eclipse pra rodar ele?
Pq pela mensagem dá impressão que ele tenta baixar e não consegue, tentou baixar manualmente o arquivo?
Tentou rodar com mvn -X pra ver o erro?

Se te serve de consolo, também to apanhando do Cargo pra fazer deploy no weblogic :slight_smile:

Só pra dar um status, achei um provável problema, que é o POM do ActiveMQ web console estar referenciando um POM “pai” que fica em uma outra pasta do SVN (na pasta imediatamente superior a pasta dele) e que provavelmente nunca seria baixado por quem vai no SVN baixar só o projeto.

O bixo tá “moendo” aqui baixando algumas dúzias de dependências, quando ele “rodar” eu posto aqui o causo completo (se ele rodar, claro).

Tenha fé Luca, nem tudo está perdido ainda :smiley:

Olá

Não, uso na linha de comando.

Aí é que mora a idiotice do Maven. Baixei os fontes então para que ele precisa baixar mais coisas para fazer o Build? E não baixo na mão porque dá um monte de erro.

Estou rodando com -e. Com debug ainda não tive coragem de experimentar porque ainda prefiro ler Core dump de mainframe ou lista telefônica de Bombaim.

[]s
Luca

Dando continuidade ao depoimento, incrível como de todas as dependências que ele está baixando, nenhuma versão casa com as que eu tenho aqui :stuck_out_tongue:

Olá

Pois é, é claro que não jogo a culpa no Maven. Provavelmente deve ser coisa da turma do ActiveMQ.

O modelo de negócio é claro: eles lançam um pacote de produtos OpenSource que concorre com milionários pacotes comerciais. Aí, não documentam direito de propósito. Depois ficam ricos vendendo consultoria.

A LogicBlaze aprendeu direitinho com o Marc Fleury.

O que fiz agora foi o seguinte:

  • Abri o zip novamente

  • executei o Maven com as opções -e -o (erros e offline)

O erro foi no mesmo lugar que antes

[]s
Luca

Perguntei pq o plugin do eclipse fica tentando baixar uns arquivos direto hehe (desencanei desse plugin por enquanto)

Pelo fato de dar erro ao baixar o arquivo, era um teste pra ver se ele existia, se existisse era erro no repositorio, mas pelo que o Mauricio postou o erro eh outro

Hehhehe… qdo não acho um problema geralmente jogo um “mvn -X > c:\m2.txt” . Até que ajuda bastante :slight_smile:

O problema dá falta de documentação e plugins afasta usuarios do maven :frowning:

[]s
Fernando

Pronto, resolvido o problema, como eu já imaginava pelo “primeiro bug” encontrado, o problema é a simples falta do POM pai do projeto, o bixo rodou beleza aqui. Na verdade, nem sei direito o que é isso, mas é até bonitinho esse web console, depois vou dar uma lida melhor sobre JMS pra saber o que são esses Queues, Topics, Subscribers e o blablabla todo :smiley:

Mas indo direto a resolução do problema, Luca, basta você colocar esse arquivo anexado a mensagem no diretório imediatamente superior ao diretório que você baixou os fontes do ActiveMQ web-console, algo como:

- pom.xml (esse POM pai que está anexado)
- /activemq-web-console/
          - pom.xm (POM filho do ActiveMQ web-console)
          - /src/
          - Outras pastas diversas do projeto

Feito isso, é só ir na pasta que estão os contes do ActiveMQ web-console (aquela tal /arctivemq-web-console) e dar:

mvn jetty:run

O Maven tem que estar trabalhando online pra isso funcionar.

O problema é extremamente simples, pra quem usa diariamente o Maven e conhece coisas como herança de POMs e multiprojetos, mas pra alguém que só quer baixar a coisa e botar pra funcionar, realmente fica difícil de adivinhar esse tipo de coisa. É bom até você dar uma cutucada lá nos caras do ActiveMQ Luca, pra eles avisarem isso ao pessoal, porque é só baixar um arquivo a mais, mas pra quem nunca viu isso, termina ficando careca sem saber qual o problema.

Agora bote esse negócio aí pra rodar pra agente ver no que é que dá!

PS: Lá no read-me, ele diz pra rodar “jetty6:run” mas é só “jetty:run”, “jetty6” era pra versão anterior do plugin do Jetty, pra versão nova agora é só jetty mesmo.

Olá

Mauricio, não deu certo.

Por favor confira o que fiz de errado:

  1. Copiei o seu POM para o diretorio anterior ao incubator-activemq-4.0.2

Rodei o mvn clean install … e deu erro

  1. troquei o POM do diretorio incubator-activemq-4.0.2 pelo seu e repeti o mvn clean … e erro de novo

Como foi mesmo que você fez partindo desde a abertura do zip incubator-activemq-4.0.2-src.zip?

[]s
Luca