再会!
很长一段时间以来,我一直在尝试编写用于编译的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 文件,但我使用注释所以它应该可以正常工作,不是吗?
谢谢!
编辑 我发现我的战争文件不包含任何类。其结构:
+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 大小.. 一个工作。
那是什么?