gpt4 book ai didi

java - Ant Build 没有给出确切的类文件

转载 作者:太空宇宙 更新时间:2023-11-04 07:55:23 25 4
gpt4 key购买 nike

我为我的项目创建了一个 ant 构建。
提取 jar 文件时,我看到了一些不同的类名称,例如 myfile.class(r)。
并且该类文件的大小与编译后的类文件的大小不同。
为什么会出现这种情况。当我运行 jar 时,出现找不到该方法的异常。但我从 eclipse 导出的 jar 工作正常。

这是我的 build.xml 文件

<path id="master-classpath">
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>

</path>

<manifestclasspath property="lib.list" jarfile=".">
<classpath refid="master-classpath" />
</manifestclasspath>

<target name="clean" description="Clean output directories">
<delete dir="${build.dir}"/>
</target>


<target name="build" description="Compile source tree java files">
<echo>copy src files</echo>
<mkdir dir="${copy.dir}"/>
<copy todir="${copy.dir}">
<fileset dir="${src.dir}">
<exclude name="**/*.class"/>
<include name="**/*.java"/>
<include name="**/*.properties"/>
<include name="**/*.MIB"/>
<include name="**/*.java.bak"/>

</fileset>
</copy>


<echo>Compiling the source code</echo>
<echo>Apache Ant java version is ${ant.java.version}</echo>
<mkdir dir="${build.dir}"/>
<javac destdir="${build.dir}" srcdir="${copy.dir}" source="1.6" target="1.6" debug="on">

<classpath refid="master-classpath"/>
</javac>
<copy todir="${build.dir}">
<fileset dir="${src.dir}/src">
<exclude name="**/*.java"/>
<exclude name="**/*.class"/>
<include name="**/*.properties"/>
<include name="**/*.MIB"/>
</fileset>
</copy>
</target>

<target name="jar" depends="build">



<mkdir dir="${jar.dir}"/>
<echo>building jar!</echo>


<jar destfile="${jar.dir}/${ant.project.name}.jar" >



<fileset dir="${build.dir}" >
<include name="**/*.class" />
<include name="**/*.properties" />
<include name="**/*.MIB" />
<include name="**/*.java.bak"/>
<include name="**/*.png"/>
<include name="**/*.jpg"/>
</fileset>


<zipfileset includes="**/**.**" src="${lib.dir}/junit.jar"/>
<zipfileset includes="**/*.*" src="${lib.dir}/mysql-connector-java-5.0.8-bin.jar"/>
<zipfileset includes="**/*.*" src="${lib.dir}/NicManager.jar"/>
<zipfileset includes="**/**.**" src="${lib.dir}/log4j-1.2.14.jar"/>
<zipfileset includes="**/*.*" src="${lib.dir}/snmp4j-1.11.3.jar"/>
<zipfileset includes="**/*.*" src="${lib.dir}/snmp4j-agent-1.4.3.jar"/>
<zipfileset includes="**/*.*" src="${lib.dir}/NMSLookAndFeel.jar"/>
<zipfileset includes="**/*.*" src="${lib.dir}/rt.jar"/>
<manifest>
<attribute name="Main-Class" value="com.ushustech.nmsazzist.NMSAzzistApp" />
<attribute name="Class-Path" value="${lib.list}"/>
</manifest>

</jar>
</target>
<target name="main" depends="clean,jar"/>

最佳答案

几天后我发现了这个问题。这是因为重复的 jar 文件也包含我的项目中的类。这些类看起来像 myfile.class(r)。

关于java - Ant Build 没有给出确切的类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13702053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com