1

私のプロジェクト構造は次のとおりです。

├── WebContent
│   ├── META-INF
│   ├── WEB-INF
│   │   ├── lib
│   │   └── views
│   ├── css
│   ├── img
├── src
│   └── com
│       └── mycode
│           └── morecode

コードをコンパイルしてからWARを作成しようとしています。

以下はコンパイル用の私のantスクリプトタスクですが、失敗し、次のような最も基本的なことで文句を言いますerror: package javax.servlet.http does not exist。ただし、コードは私のIDEで正常にコンパイルされます。ですから、私のタスクはantのプロパティで構成されていないのではないかと思います。

<path id="compile.classpath">
    <fileset dir="WebContent/WEB-INF/lib">
        <include name="*.jar"/>
    </fileset>
</path>

<target name="init">
    <mkdir dir="build/classes"/>
    <mkdir dir="dist" />
</target>

<target name="compile" depends="init" >
    <javac destdir="build/classes" debug="true" srcdir="src">
        <classpath refid="compile.classpath"/>
    </javac>
</target>
4

1 に答える 1

1

WEB-INF/libこれらのクラスは通常、サーブレットコンテナによって提供されるため、おそらく、にサーブレットAPIJARがありません。IDEは他の場所からそれらを提供しますが、Antビルドの場合は、関連するJARのコピーを取得し、プロジェクトの次のような場所build/lib(つまり、の下ではないWEB-INF)に配置して、に追加する必要がありますcompile.classpath

于 2012-11-15T16:07:08.077 に答える