[RESOLVIDO] Maven (2) + VRaptor - Aplicação não roda
15 respostas
bronx
Caros,
Estou criando um projeto VRaptor do zero utilizando Maven.
O que fiz foi criar um Dynamic Web Project no Eclipse (Servlet 2.5), e então converti o projeto para um projeto Maven (right click > Configure > Convert to Maven Project) e adicionei as dependências.
Fiz também algumas configurações no Deployment Assembly, para jogar as dependências do Maven no diretório WEB-INF/lib.
Subo o servidor, e a aplicação é devidamente startada (vejo pelos logs que tudo sobe como deveria).
Mas ao acessá-la (localhost:8080/minha-app), recebo um 404 na face.
Já gastei bastante tempo tentando entender o que se passa, mas não consigo ver o erro.
Pelo log sei que o VRaptor está sendo carregado, mas não consigo acessar a aplicação.
se vc está criando novo pq vc jah não cria um “maven project”?
cria um simple project no maven e depois vai em properties do projeto… vai no módulo “project facets” click em “convert to faceted…” e marca a opcao “Dynamic Web Module 3”
feito isso vai aparecer uma msg de “mais configuracoes disponíveis” clicando vai aparecer a opcao de alterar o content directory, ao invés de webcontent muda para /src/main/webapp
clica em ok.
depois abre o properties do projeto novamente e agora vai no módulo “deployment assembly” clique em add e depois clique em java build path entries e escolha a opcao maven dependência
pronto configurado! depois soh add as dependencias necessárias
Segui este caminho pois estou mais acostumado com a estrutura de pastas do projeto criado pelo Eclipse (com o conteúdo todo dentro de WebContent).
Como não encontrei nenhum archetype equivalente, fiz isso que falei: criei o projeto normalmente, e então o converti para um Maven Project.
Claro, que se não conseguir nenhuma solução, serei obrigado a criar o projeto direto pelo Maven. Mas por ora estou tentando descobrir a causa do problema e como solucioná-lo.
Assim que chegar em casa posto as configs e a estrutura do projeto.
De qualquer forma, valeu! :thumbup:
kadu.m.lino
Opá!
Cara, não vou te afirmar pq sempre tem um cara q sabe fazer isso!
mas pela lógica não tem como…
a sua pastinha lib ficara vazia em um projeto maven!
os jars que vão aparecer na sua aplicação será gerenciada pelo maven… e isso terá que ser configurado no pom.xml
ele que vai baixar as libs(jars) necessárias
o eclipse não consegue fazer essa conversão…
tendeu?
flw bronx
e acertou o Ricardo!
rs
abrass
bronx
Então mano,
Fato é que a aplicação sobe. Vejo pelos logs que ao menos o startup dela rola normalmente.
Por isso acho que é algum detalhe que está faltando. Mas acho que rola sim!
Vejamos…
kadu.m.lino
ela sobe pq os jar estão na pasta lib, o seu servidor reconhece!
mas não está sendo gerenciada pelo maven!
aih qual o sentido de vc ter um projeto maven?
bronx
Vc não entendeu, mano.
O Maven que jogou todas as dependências lá. Ele está sim gerenciando a parada.
kadu.m.lino
Ah sim, vc add os caras no pom.xml
então! o maven ele segue uma convenção de estrutura de pasta…
Mas então, até onde sei o maven não usa uma “convenção” de estrutura de pasta.
Elas (as estruturas) são definidas pelos archetypes.
Em aplicações web “padrão” geralmente é utilizado o archetype “maven-archetype-webapp”, que possui a estrutura de pastas que estou evitando ("/src/main/webapp").
Como não conheço um archetype que possua a estrutura que desejo (/WebContent), resolvi utilizar esta abordagem que citei: criei um Dynamic Web Project, e o converti para um maven project.
Assim, o maven passa a gerenciar minhas dependências, e eu mantenho a estrutura que desejo.
kadu.m.lino
Então, quando estudei sobre o maven… eu lembro de ter lido que o Maven define um padrão para a estrutura de diretórios no projeto, agora não sei se a fonte era confiável…
Fiz isso e minhas JSPs passaram a ser renderizadas! :thumbup:
Agora tenho meu projeto VRaptor gerenciado pelo Maven, com a estrutura de pastas padrão de um Dynamic Web Project do Eclipse! Sucesso!! :thumbup: :thumbup: :thumbup: