Como criar um ficheiro WAR usando a linha de comandos?

instalei o JBoss Developer Studio e é possível criar um ficheiro de guerra por "projecto do rato direito > Exportar > ficheiro de guerra", mas quero exportar o meu projecto para um ficheiro de guerra usando a linha de comandos.

Tenho o maven instalado, que é um dos requisitos do estúdio, e li Que posso gerar um ficheiro de guerra usando o maven, mas preciso de um ficheiro chamado pom.xml. Quando procurei no meu espaço de trabalho e projecto, pom.faltava o xml. Posso precisar de criar pom manualmente.xml mas não tenho a certeza como.

a minha árvore de directórios para o meu projecto é a seguinte:

Siesta
├── build
│   └── classes
├── src
└── WebContent
    ├── extjs
    ├── extjs-4.2.0
    ├── extjs-4.2.2
    ├── index.jsp
    ├── META-INF
    ├── siesta
    ├── tests
    └── WEB-INF
Como posso criar um ficheiro de guerra para o meu projecto Maven / JBoss usando a linha de comando? Eu uso o Linux e preferia não ter que criar um pom.arquivo xml, mas se não houver outra maneira, então eu vou usar o arquivo xml para gerar o arquivo war.

Editar:

Então jar é o caminho para criar um arquivo de guerra. Eu escrevi um script minúsculo que vai criar um arquivo de guerra para mim para um diretório específico.

#!/bin/bash
cd Siesta/WebContent/
jar -cvf ../../Siesta.war *
cd -

Então se abrir o ficheiro war num utilitário zip ou gestor de pacotes no ubuntu, irá ver esta estrutura

    ├── extjs
    ├── extjs-4.2.0
    ├── extjs-4.2.2
    ├── index.jsp
    ├── META-INF
    ├── siesta
    ├── tests
    └── WEB-INF

Eu tenho que CD no diretório que eu quero criar um arquivo de guerra que é meio chato. Eu acho que pode haver uma maneira melhor de fazer isso usando a opção jar-C mas quando eu usei " Jar-cvf Siesta.war-C Siesta / WebContent * " it didn't have the same result.

Edit2:

jar -cvf my-app.war myfolder/

para a minha aplicação para trabalhar no TomCat, eu uso o seguinte:

cd Siesta/WebContent
jar -cvf Siesta.war *
Author: SomeGuyOnAComputer, 2015-03-25

2 answers

Tudo bem aqui é um SO já existente com algumas possibilidades sobre como criar um arquivo de guerra: Como criar arquivos de guerra .

Pessoalmente prefiro Maven a qualquer outro cenário de construção - já que eu migrei de ANT eu não gostava de Maven em primeiro lugar, mas depois de investir como um dia ou dois nas documentações: http://maven.apache.org/pom.html comecei a adorar. No seu caso, tudo o que precisa é remodelar o seu projecto para satisfazer o ficheiro padrão maven. estruturar e criar um projecto Maven mínimo (também conhecido por ficheiro pom.xml) para as suas fontes que tenham a embalagem war em vez do jar por omissão. Se você quiser ficar apenas com a consola e não usar qualquer ajudantes de construção ao lado dos entregues pelo JDK você pode criar sua guerra com algo assim:

jar cvf my-app.war

Olha para isto. https://docs.oracle.com/javase/tutorial/deployment/jar/build.html
para uma referência completa das opções suportadas.

(Nota: uma" guerra " no contexto de aplicações web baseadas em java segue um formato padrão: http://docs.oracle.com/javaee/6/tutorial/doc/bnaby.html enquanto o técnico ".war "file is just the same as a ZIP compressed folder renamed to".postal".)

(também note que eu realmente tomar o tempo para entrar em contato com maven desde que depois que você sabe sobre uma ferramenta de construção séria e será capaz de criar jar, ear, war etc. em um processo padrão).

 2
Author: JBA, 2017-05-23 12:09:52

Se este é um projecto Maven, então abra a sua consola, navegue até onde o pom.o ficheiro xml é então executado:

mvn package

Criará o {artifactId} - {version}.war ficheiro em ${basedir}/target directório. Isto assume que o seu elemento packaging POM está definido para war no seu pom.ficheiro xml .

<project ...>
    ...
    <packaging>war</packaging>
    ...
</project>

Alguns dos valores de embalagem válidos são jar, guerra, ear e pom . Em caso de ausência de embalagem o valor foi indicado, por omissão será jar.

Mais detalhes aqui e aqui.

 2
Author: Voicu, 2017-09-09 01:14:04