Como criar arquivos war

Quais são as melhores práticas de criação de arquivos war (usando eclipse) para rodar no tomcat? tutoriais, links, exemplos são muito apreciados.

Você pode usar o Ant para configurar, compilar, WAR e implantar sua solução.

 

Você pode então executar um clique no Eclipse para executar esse destino Ant. Aqui estão alguns exemplos de cada uma das etapas:

Condições prévias

Vamos supor que você tenha seu código organizado como:

  • ${basedir}/src : arquivos Java, propriedades, arquivos de configuração XML
  • ${basedir}/web : seus arquivos JSP
  • ${basedir}/web/lib : Quaisquer JARs requeridos em tempo de execução
  • ${basedir}/web/META-INF : Seu manifesto
  • ${basedir}/web/WEB-INF : Seus arquivos web.xml

Configuração

Defina uma tarefa de setup que crie o diretório de distribuição e copie quaisquer artefatos que precisem ser WARred diretamente:

   Copying web into dist    

Compilar

Construa seus arquivos Java em classs e copie sobre qualquer artefato não-Java que resida em src mas precisa estar disponível em tempo de execução (por exemplo, propriedades, arquivos XML, etc.):

                  

Construir WAR

Crie a própria WAR:

         

Implantar

Por fim, você pode configurar uma tarefa para implantar o WAR diretamente em seu local de implantação do Tomcat:

    

Clique e vá!

Depois que tudo isso estiver configurado, basta ativar o destino default do Eclipse para compilar o WAR e implementar sua solução.

A vantagem dessa abordagem é que ela funcionará fora do Eclipse, bem como dentro do Eclipse, e pode ser usada para compartilhar facilmente sua estratégia de implementação (por exemplo, via controle de origem) com outros desenvolvedores que também estão trabalhando em seu projeto.

Eu sempre acabei de selecionar Exportar do Eclipse. Ele constrói o arquivo war e inclui todos os arquivos necessários. Desde que você tenha criado o projeto como um projeto da web, isso é tudo que você precisa fazer. O Eclipse torna isso muito simples de fazer.

Nós usamos o Maven (irmão mais velho da Ant) para todos os nossos projetos java, e ele tem um plugin WAR muito bacana. Tutoriais e uso podem ser encontrados lá.

É muito mais fácil do que o Ant, totalmente compatível com o Eclipse (use o eclipse do maven: eclipse para criar projetos do Eclipse) e fácil de configurar.

Maven’s homepage

Plugin Maven WAR

Configuração de Amostra:

  org.apache.maven.plugins maven-war-plugin 2.1-alpha-2  ${project.build.directory}/tmp/ ${project.build.directory}/tmp/war/work ${project.build.webappDirectory} ${project.build.directory}/tmp/war/work/webapp-cache.xml  pdf png gif jsp    src/main/webapp/ WEB-INF true  **/*.xml    Application   

Um arquivo de guerra é simplesmente um arquivo jar com uma extensão war, mas o que faz com que funcione é como o conteúdo é realmente estruturado.

O tutorial do J2EE / Java EE pode ser um começo:

http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/WebComponents3.html

E a especificação Servlet contém os detalhes sangrentos:

http://java.sun.com/products/servlet/download.html

Se você criar um novo projeto da web no Eclipse (estou me referindo à versão do Java EE), a estrutura será criada para você e você também poderá informar onde seu Appserver está instalado e implementará e iniciará o aplicativo para você.

Usando a opção “Export-> WAR file”, você poderá salvar o arquivo war.

Se você não tem certeza do que fazer e está começando do zero, então o Maven pode ajudar você a começar.

Seguindo as etapas abaixo, você pode obter uma nova configuração de projeto de guerra perfeitamente no eclipse.

  1. Baixe e instale o Maven
  2. Vá para a linha de comando run: mvn archetype:generate
  3. Siga as etapas sugeridas – escolhendo o projeto Java simples da web (18) e um nome adequado.
  4. Quando terminar, execute: mvn eclipse:eclipse
  5. Inicie o Eclipse. Escolha Arquivo -> Importar -> Projeto existente. Selecione o diretório em que você executou as metas do mvn.
  6. É isso que você deve ter agora um bom começo para um projeto de guerra no eclipse
  7. Você pode criar a guerra propriamente dita executando o mvn package ou implementando-o configurando um servidor no eclipse e simplesmente adicionando adicionando o projeto ao servidor.

Como alguns outros disseram, a desvantagem de usar o maven é que você tem que usar as convenções do maven. Mas acho que se você está apenas começando, aprender as convenções é uma boa ideia antes de começar a fazer as suas. Não há nada que impeça você de alterar / refatorar para o seu método preferido em um momento posterior.

Espero que isto ajude.

Use a tarefa de guerra Ant

Use o código de compilation de formigas Eu uso isso para o meu projeto SMS

       -------------------------------------------------- compile - Compile archive - Generate WAR file --------------------------------------------------                           

Outra opção seria construí-lo automaticamente usando o Eclipse. Claro que se você tiver um ambiente de continuous integration, o Ant ou Maven é recomendado. A alternativa de exportação não é muito conveniente porque você precisa configurar cada vez as propriedades de exportação.

PASSOS:

  1. Habilite o suporte ao “Arquivo de Projetos”; isso pode depender do seu projeto (eu usei no projeto Java EE / Web). Clique com o botão direito do mouse no diretório raiz do projeto; Configure -> Adicionar suporte a arquivos do projeto.

  2. Vá e crie um novo arquivo no diretório “Project Archives”. Você tem apenas a opção jar, mas nomeie seu arquivo * .war.

  3. Configure o Fileset-s, ou seja, quais arquivos devem ser incluídos. Típico é configurar dois conjuntos de arquivos semelhantes à configuração do Web Deployment Assembly (propriedade do projeto).

    • copy / WebContent para /
    • copy / build / classs para WEB-INF / classs (crie este conjunto de arquivos depois de definir o diretório WEB-INF / classs no archive)
  4. Você pode precisar tweek o conjunto de arquivos excluir propriedade, dependendo de onde você colocou alguns dos arquivos de configuração ou você pode precisar de mais conjuntos de arquivos, mas a idéia é que uma vez configurado você não precisará alterá-lo.

  5. Construa o arquivo manualmente ou publique diretamente no servidor; mas também é construído automaticamente para você pelo Eclipse

Outra opção comum é gradle.

http://www.gradle.org/docs/current/userguide/application_plugin.html

Para construir seu arquivo war em um aplicativo da web:

No build.gradle, adicione:

 apply plugin: 'war' 

Então:

 ./gradlew war 

Use o layout da resposta aceita acima.

Solução mais simples que também atualiza o espaço de trabalho do Eclipse:

             

Código simplificado da Shell para criar arquivos WAR a partir de um projeto da Web dynamic padrão do Eclipse. Usa o sistema de arquivos RAM (/ dev / shm) em uma plataforma Linux.

 #!/bin/sh UTILITY=$(basename $0) if [ -z "$1" ] ; then echo "usage: $UTILITY [-s] ..." echo " -s ..... With source" exit 1 fi if [ "$1" == "-s" ] ; then WITH_SOURCE=1 shift fi while [ ! -z "$1" ] ; do WEB_APP_DIR=$1 shift if [ ! -d $WEB_APP_DIR ] ; then echo "\"$WEB_APP_DIR\" is not a directory" continue fi if [ ! -d $WEB_APP_DIR/WebContent ] ; then echo "\"$WEB_APP_DIR\" is not a Web Application directory" continue fi TMP_DIR=/dev/shm/${WEB_APP_DIR}.$$.tmp WAR_FILE=/dev/shm/${WEB_APP_DIR}.war mkdir $TMP_DIR pushd $WEB_APP_DIR > /dev/null cp -r WebContent/* $TMP_DIR cp -r build/* $TMP_DIR/WEB-INF [ ! -z "$WITH_SOURCE" ] && cp -r src/* $TMP_DIR/WEB-INF/classs cd $TMP_DIR > /dev/null [ -e $WAR_FILE ] && rm -f $WAR_FILE jar cf $WAR_FILE . ls -lsF $WAR_FILE popd > /dev/null rm -rf $TMP_DIR done 

Use este comando fora da pasta WEB-INF. Isso deve criar seu arquivo war. Este é um método mais rápido que eu conheço.

Você precisará do JDK 1.7+ instalado para obter esse talento e variables ​​de ambiente que apontam para o diretório bin do seu JDK.

 jar -cvf projectname.war * 

Link de Referência

** Fazendo arquivo de guerra no projeto Eclips Gaynemed of grails **

Projeto 1.Import:

2.Altere o arquivo datasource.groovy

Assim: url = “jdbc: postgresql: //18.247.120.101: 8432 / PGMS”

2.chnge AppConfig.xml

3.kill o Java do Gerenciador de Tarefas:

  1. execute comando limpo em eclips

  2. execute ‘prod war’ seguido pelo nome do projeto.

  3. Verifique o arquivo de log e localize o mesmo arquivo .war no diretório do workbench com a mesma data.