web-dev-qa-db-ja.com

コマンドラインを使用してWARファイルを作成する方法は?

JBoss Developer Studioをインストールし、「右マウスプロジェクト>エクスポート> WARファイル」でWARファイルを作成できますが、コマンドラインを使用してプロジェクトをWARファイルにエクスポートしたいです。

Studioの要件の1つであるmavenがインストールされており、mavenを使用してWARファイルを生成できることを読んでいますが、pom.xmlというファイルが必要です。ワークスペースとプロジェクトを検索すると、pom.xmlが見つかりませんでした。 pom.xmlを手動で作成する必要があるかもしれませんが、どうすればいいかわかりません。

私のプロジェクトのディレクトリツリーは次のとおりです。

Siesta
├── build
│   └── classes
├── src
└── WebContent
    ├── extjs
    ├── extjs-4.2.0
    ├── extjs-4.2.2
    ├── index.jsp
    ├── META-INF
    ├── siesta
    ├── tests
    └── WEB-INF

コマンドラインを使用してMaven/JBossプロジェクトのWARファイルを作成するにはどうすればよいですか?私はLinuxを使用しており、pom.xmlファイルを作成する必要はありませんが、別の方法がない場合は、xmlファイルを使用してwarファイルを生成します。

編集:

Jarはwarファイルを作成する方法です。特定のディレクトリ用のwarファイルを作成する小さなスクリプトを作成しました。

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

次に、zipファイルまたはubuntuのアーカイブマネージャーでwarファイルを開くと、この構造が表示されます。

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

迷惑なようなwarファイルを作成したいディレクトリにCDを作成する必要があります。 jarの-Cオプションを使用してより良い方法があると思いますが、「jar -cvf Siesta.war -C Siesta/WebContent *」を使用した場合、同じ結果は得られませんでした。

Edit2:

jar -cvf my-app.war myfolder/

アプリケーションをTomcatで動作させるには、次を使用します。

cd Siesta/WebContent
jar -cvf Siesta.war *
12

既に存在するSOがあり、warファイルの作成方法に関するいくつかの可能性があります: warファイルの作成方法

私は個人的に他のどのビルドシナリオよりもMavenを好みます-私はANTから移行したので、最初はMavenが好きではありませんでしたが、ドキュメントに1〜2日投資した後: http://maven.Apache.org/ pom.html 私はそれを愛し始めました。あなたの場合、必要なのは、プロジェクトをリファクタリングして、Mavenの標準ファイル構造を満たし、最小のMavenプロジェクト(別名pom.xml file)デフォルトのwarの代わりにパッケージ化jarを含むソース用。

コンソールのみに固執し、JDKが提供するもの以外のビルドヘルパーを使用しない場合は、次のようなもので戦争を作成できます。

jar cvf my-app.war

サポートされているオプションの完全なリファレンスについては、これをご覧ください: https://docs.Oracle.com/javase/tutorial/deployment/jar/build.html .

(注:JavaベースのWebアプリケーションのコンテキストにおける「戦争」は、標準形式に従います: http://docs.Oracle.com/javaee/6/tutorial/doc /bnaby.html 技術的な「.war」ファイルは、「。Zip」に名前を変更したZip圧縮フォルダーと同じです。)

(また、真剣なビルドツールについて知っていて、標準プロセスでjarearwarなどを作成できるので、私は本当に時間をかけてMavenと連絡を取ることに注意してください).

3
JBA

これがMavenプロジェクトの場合、コンソールを開き、pom.xmlファイルがある場所に移動してから実行します。

mvn package

{artifactId}-{version} .warファイルを$ {basedir}/targetディレクトリの下に作成します。これは、packaging POM要素がpom.xmlファイルでwarに設定されていることを前提としています。

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

有効なパッケージング値の一部は、jarwarearおよびpom。パッケージ値が指定されていない場合、デフォルトはjarになります。

詳細 here および here

5
Voicu