Java 在ANT构建中未生成类文件

Java 在ANT构建中未生成类文件,java,class,ant,jenkins,war,Java,Class,Ant,Jenkins,War,我正在使用正确的build.xml生成war文件。ANT成功创建了war文件,但没有类文件!!。我在eclipse或cmd提示符下尝试了同样的方法,但最终的war文件不包含类文件,只包含libs等。 以下是我的build.xml: <?xml version="1.0" ?> <project name="Westpac" default="war" basedir="C:\\Users\\M1019779\\.jenkins\\workspace\\Test GIT">

我正在使用正确的build.xml生成war文件。ANT成功创建了war文件,但没有类文件!!。我在eclipse或cmd提示符下尝试了同样的方法,但最终的war文件不包含类文件,只包含libs等。 以下是我的build.xml:

<?xml version="1.0" ?> 
<project name="Westpac" default="war" basedir="C:\\Users\\M1019779\\.jenkins\\workspace\\Test GIT">
    <property name="configuration" value="stage"/>
    <target name="init" depends="clean">
        <mkdir dir="build/classes"/>
        <mkdir dir="build/lib"/>
        <copy todir="build/lib">
            <fileset dir="C:\\java\\wp_lib">
                <include name="*.jar"/>
            </fileset>
        </copy>
    </target>
    <path id="build.classpath">
        <fileset dir="build/lib">
        </fileset>
    </path>

    <target name="compile" depends="init" description="Compiles the java source">
        <echo message="Building for ${configuration}" />
        <javac destdir="build/classes" debug="true" srcdir="src">
            <classpath refid="build.classpath" />
            <!-- <classpath> -->
                <!-- <fileset dir="build/compile"> -->
                    <!-- <include name="**/*.jar" /> -->
                    <!-- <include name="*.jar" /> -->
                    <!-- </fileset></classpath>-->
        </javac>
        <!--must copy non java resources manually-->
        <copy todir="build/classes/">
            <fileset file="src/*.properties" />
        </copy>
        <copy todir="build/classes/conf">
            <fileset dir="src/conf" />
        </copy>
        <copy todir="build/classes/com/bcsg/saas/db">
            <fileset dir="src/com/bcsg/saas/db" />
        </copy>
        <copy todir="build/classes/pdf">
            <fileset dir="src/pdf" />
        </copy>

        <copy todir="build/classes/vmTemplate">
            <fileset dir="src/vmTemplate" />
        </copy>     
    </target>

    <target name="clean">
        <delete dir="dist" />
        <delete dir="build" />
    </target>

    <target name="war" depends="compile" description="Packages up the java classes, along with all static assets and the libraries required for runtime into a war file">       
        <war destfile="dist/westpac-${configuration}.war" webxml="WebContent/WEB-INF/web.xml">
            <classes dir="build/classes"/>
            <fileset dir="WebContent"/>
            <fileset file="build/build.properties" />
            <lib dir="build/lib" />
        </war>
    </target>       
</project>

您的
war
任务有一个嵌套的
元素,该元素。这意味着您可以明确说明要执行的操作,并标识.class文件

尝试更改war任务以包括以下内容:

<classes dir="build/classes">
    <include name="**/*.class"/>
</classes>


提问时请正确缩进代码。生成后的
生成/classes
中是否有类文件?我的生成后是否没有类文件?您是否在
生成.xml
输出中看到
[javac]
?我怀疑这会有什么不同,带有
dir
但没有包含/排除规范的
文件集
的默认设置是包含除“默认排除”(源代码管理元数据、通用备份文件扩展名等)之外的所有内容