Ant创建WAR JAVA

时间:2013-10-08 06:43:46

标签: java tomcat servlets ant

美好的一天!

我一直在尝试编写 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大小..这个有用。

那是什么?

0 个答案:

没有答案