良い一日!
私はコンパイル用のantファイルを書き、WARファイルを作ることを長い間試みてきました。しかし、それでもうまくいきません。現時点ではビルド エラーはありませんが、Tomcat の「リソースが見つかりません」というエラーが表示されます。
ここに私のbuild.xmlがあります:
<?xml version="1.0" ?>
<property environment="env"/>
<property name="dir.src" value="src"/>
<property name="dir.dist" value="ant-dist"/>
<property name="dir.lib" value="WebContent/WEB-INF/lib"/>
<property name="dir.build" value="ant-build"/>
<property name="dir.classes" value="${dir.build}/classes"/>
<property name="tomcat-home" value="${env.TOMCAT_HOME}"/>
<property name="java-home" value="${env.JAVA_HOME}"/>
<path id="compile.classpath">
<fileset dir="${dir.lib}" includes="*.jar"/>
<fileset dir="${tomcat-home}" includes="**/*.jar" />
<fileset dir="${java-home}" includes="**/*.jar" />
</path>
<target name="init">
<mkdir dir="${dir.classes}"/>
<mkdir dir="${dir.dist}" />
</target>
<target name="compile" depends="init" >
<javac destdir="${dir.build}" debug="true" srcdir="${dir.src}" includeantruntime="false">
<classpath refid="compile.classpath"/>
</javac>
</target>
<target name="war" depends="compile">
<war destfile="${dir.dist}/SoulVoxServer.war" needxmlfile="false">
<fileset dir="WebContent"/>
<lib dir="${dir.lib}"/>
<classes dir="${dir.classes}"/>
</war>
</target>
<target name="clean">
<delete dir="${dir.dist}" />
<delete dir="${dir.build}" />
</target>
問題は web.xml ファイルの欠落に依存する可能性があると思いましたが、アノテーションを使用しているので、とにかく動作するはずですよね?
ありがとうございました!
編集 私の戦争ファイルにクラスが含まれていないことがわかりました。その構造:
+META-INF
--MANIFEST.MF
+WEB-INF
--classes (It is empty)
--lib (here goes my jar files. Its ok)
-Playlist.jsp
EDIT 私はその問題を解決し、次のようになりました.2つのwarファイルがあります.1)antによって生成されました。13.3メガバイト。動作しません。2) Eclipse によって生成され、(jar -xvf の後) 内部に同じファイルがありますが、サイズは 6.6 Mb しかありません。これは機能します。
それは何ですか?