0

再会!

很长一段时间以来,我一直在尝试编写用于编译的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 大小.. 一个工作。

那是什么?

4

0 回答 0