Pergunta

Suponha que você esteja trabalhando em um grande projeto, que é executado em algum servidor de aplicativos (digamos Tomcat, mas também pode ser Jboss, ou Jetty ou qualquer outro). O projeto consiste em várias guerras, enquanto cada guerra contém uma grande quantidade de jarros. A coisa toda é construída usando o Maven e leva muito tempo para construir tudo.

Agora, suponha que um desenvolvedor faça uma alteração em apenas um módulo que produz um pequeno jar. Para continuar trabalhando e testar a mudança, o desenvolvedor precisa substituir este jar no wars relevante e reiniciar o servidor (às vezes é suficiente para reimplantar o wars). É muito mais rápido do que reconstruir todo o aplicativo. Tenho visto muitos desenvolvedores (inclusive eu) criando scripts de shell para essa tarefa.

No entanto, poderia ser muito melhor se pudesse ser feito automaticamente com o maven. Digamos que, ao executar "mvn install", o plug-in também vá para algum local predefinido (por exemplo, $ {tomcat} / webapps) e procure todas as aparências de myjar.jar e as substitua por uma nova versão (temos vários jars, lembra? )

Alguém sabe sobre esse plugin? Ou pode ser sobre alguma outra ferramenta que pode fazer a mesma tarefa? Ou alguma ideia melhor de como fazer isso?

Atualizado: A propósito, se eu não encontrar uma solução, provavelmente irei implementá-la sozinho. Então, por favor, deixe-me saber se você está interessado. Vou precisar de alguns testadores beta :)

Atualizado: eu mesmo criei o plug-in. Consulte http://code.google.com/p/replace-file-plugin/ Agradecemos qualquer feedback.

Foi útil?

Solução 2

Bem, todos os recursos que perguntei nesta pergunta, eu mesmo implementei.Consulte http://code.google.com/p/replace-file-plugin/ Agradeço qualquer feedback.

Outras dicas

Confira JRebel .É demais, reduz muito o tempo de desenvolvimento / implantação.Há um teste gratuito de 30 dias, então verifique-o gratuitamente.Comprei minha própria licença, minha empresa demorou algumas semanas para aprovar a compra e mal podia esperar.

Homem sério, é demais.Leia sobre isso, ele pode fazer o que você quiser.

Se você pode escrever seu script como uma construção Ant, você pode usar o Maven Antrunplugin para incorporar a construção Ant em seu ciclo de vida de construção.

Vamos restringir o escopo a um único arquivo de guerra, acho que você mesmo aumentaria o seu cenário sem problemas.

Você pode tentar esta opção: criar um módulo de montagem final que execute rápido e combine todos os módulos dependentes em um arquivo war.Então, se você inicialmente fizer mvn clean package install para a compilação inteira, você terá que mvn clean package install o módulo dependente alterado e re-executar o módulo assembly final para obter rapidamente o war atualizado.Este é um esquema de compilação com estado (e, portanto, sujeito a erros), mas depois de se familiarizar com essa abordagem de propagação de alterações, você provavelmente pensará que essa é a ideia mais simples que pode funcionar, e funcionar mais rápido.

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