美好的一天!
我一直在尝试编写 ant 文件进行编译并制作WAR文件很长时间。 但它仍然没有用。这时我没有构建错误,但是有一个Tomcat“资源未找到”错误,应该是我的servlet。
这是我的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文件,但是我使用注释因此无论如何都应该工作,不是吗?
谢谢!
修改 我发现我的war文件不包含任何类。其结构:
+META-INF
--MANIFEST.MF
+WEB-INF
--classes (It is empty)
--lib (here goes my jar files. Its ok)
-Playlist.jsp
修改 我解决了这个问题,现在我看到下一个: 我有2个战争文件: 1)由ant生成。 13.3 Mb。不起作用。 2)由eclipse生成并且内部具有相同的文件(在jar -xvf之后),但它只有6.6 Mb大小..这个有用。
那是什么?