2013-05-02 10 views
44

tomcatサーバが動作していて、そこにwebappフォルダmy_web_appがあります。tomcat webappフォルダからwarファイルを生成

私はプロジェクトを展開しませんでした。私はそのアプリケーションのそのフォルダを持っているだけです(TOMCAT_DIR/webapps/my_web_appのように)。

私はWARファイルが必要です。このWebアプリケーションから.warファイルを作成するにはどうすればよいですか?

答えて

105

既存のフォルダから.warファイルを作成することができます。 (エクリプスから、コマンドライン、達人)

cd /to/your/folder/location 
jar -cvf my_web_app.war * 
+0

プロジェクトで使用されているTomcarのlibフォルダにあるライブラリについて教えてください。彼らは戦争ファイルの中に置く必要がありますか?そのWARファイルはJBossのような別のサーブレットコンテナでも動作しますか? –

+0

@ketan手順を実行したときにエラーが発生したため(コマンドに入力ファイルまたはマニフェストファイルが必要であると言っているため)、入力ファイルまたはマニフェストが必要ですか?私たちを手伝ってくれますか?またFYI、私は私が持っているエラーを拾い読みしましたが、それは(http://stackoverflow.com/questions/23422470/getting-error-while-creating-war-file)は役に立たないようです。 –

+0

私はwebpackの結果からwarファイルを作成するためにこれを使いました。そしてtomcatはそれを気に入っていました。 – jkerak

22

そのは自分のプロジェクトのWARファイルを作成するように、あなたはいくつかの方法でそれを行うことができ、このコマンドを使用する

コマンドラインから実行したい場合は、コマンドは、「my_web_app.warという名前のファイルにこのディレクトリ内のすべてのものを圧縮」 (C =作成、V =冗長意味

jar -cvf my_web_app.war * 

ですf = file)

+0

3つのフラグの説明に似ています(私は他の場所でこれを見たことがありません) –

4

eclipseからプロジェクトのwarファイルを作成する方法があります。

まず

、次のコードでXMLファイルを作成

プロジェクト名とHistoryCheckを交換してください。

<?xml version="1.0" encoding="UTF-8"?> 
<project name="HistoryCheck" basedir="." default="default"> 
    <target name="default" depends="buildwar,deploy"></target> 
    <target name="buildwar"> 
     <war basedir="war" destfile="HistoryCheck.war" webxml="war/WEB-INF/web.xml"> 
      <exclude name="WEB-INF/**" /> 
      <webinf dir="war/WEB-INF/"> 
       <include name="**/*.jar" /> 
      </webinf> 
     </war> 
    </target> 
    <target name="deploy"> 
     <copy file="HistoryCheck.war" todir="." /> 
    </target> 
</project> 

さて、プロジェクトエクスプローラで右のあなたは、あなたのプロジェクトフォルダにプロジェクトのwarファイルを見ることができます

そのXMLファイルとを実行したまま> antのビルドをクリックしてください。

+0

このエラーを取得しています...ターゲットビルドワーがプロジェクト ""に存在しません。 –

1

コンテンツが存在しない別のディレクトリにwarファイルを作成します。jarコマンドは、作成中のファイルを解凍しようとする可能性があります。

#!/bin/bash 

set -euo pipefail 

war=app.war 
src=contents 

# Clean last war build 
if [ -e ${war} ]; then 
    echo "Removing old war ${war}" 
    rm -rf ${war} 
fi 

# Build war 
if [ -d ${src} ]; then 
    echo "Found source at ${src}" 
    cd ${src} 
    jar -cvf ../${war} * 
    cd .. 
fi 

# Show war details 
ls -la ${war} 
関連する問題