0

静的コンテンツ ファイル (gif、jpg、html、js など) だけを含む WAR ファイルを作成する必要があります。すべてのファイルを含むディレクトリ構造があり、ANT (1.5.1) ビルド タスクを使用して WAR ファイルを作成する必要があります。今、私はこれをANTタスクに持っています:

<war destfile="${output.file}" webxml="WEB-INF/web.xml" basedir="${basedir}">
    <fileset dir="${basedir}/sales" />       
</war>

含めたいファイルは、C:/basedir/sales とそのサブディレクトリにあります。このタスクを実行しようとすると、「Zip ファイルにそれ自体を含めることはできません」というメッセージが表示されます。したがって、そのファイルセットをそこに置くことは、明らかに正しい方法ではありません。アーカイブに含めるファイルを指定するために、タスクと web.xml ファイルに何を入力する必要があるかがわかりません。

4

1 に答える 1

2

basedir="${basedir}" が問題を引き起こしていると思います。また、あなたが書いた方法では、antを実行する場所に関連するWEB-INFディレクトリ内にweb.xmlが存在する必要があると思います。

したがって、次のように /WEB-INF/web.xml を作成してみてください。

<?xml version="1.0" encoding="utf-8" ?>

<web-app>
</web-app>

次に、次のように /build.xml を更新してみてください。

<?xml version="1.0" encoding="UTF-8"?>
<project name="yourproject" basedir="." default="war" xmlns:ivy="antlib:org.apache.ivy.ant">
        <target name="war" description="--> build war file">
                <war destfile="./mywar.war" webxml="WEB-INF/web.xml">
                    <fileset dir="C:/basedir/sales" />
                </war>
        </target>
</project>

次に、コマンドラインから「ant war」を実行できるようになり、現在のディレクトリに「mywar.war」が作成されます。

于 2009-11-24T16:40:35.867 に答える