我正在尝试完成HelloWorld上的示例,该示例向您展示了如何在Eclipse中使用ANT创建构建文件。这是来自web示例的项目构建文件。
<?xml version="1.0" encoding="UTF-8"?>
<project name="HW.makejar" default="makejar" basedir=".">
<target name="makejar" description="Create a jar for the HW project">
<jar jarfile="HelloWorld.jar" includes="*.class" basedir="."/>
</target>
</project>
但是,当我运行生成的jar时,我收到以下错误消息:无法从HelloWorld.jar加载主类清单属性。
所以我试着这样做:
<?xml version="1.0" encoding="UTF-8"?>
<project name="HW.makejar" default="makejar" basedir=".">
<target name="makejar" description="Create a jar for the HW project">
<jar jarfile="HelloWorld.jar" includes="*.class" basedir=".">
<manifest>
<attribute name="Main-Class" value="ami.HelloWorld" />
</manifest>
</jar>
</target>
</project>
当我重新运行生成的jar时,我得到了以下错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: ami/HelloWorld
我做错了什么。顺便说一句,当我手动编译源代码并在Eclipse中指定Main.class时,生成的jar可以很好地运行。
发布于 2010-08-01 16:58:17
您的jar文件是否包含任何类文件?如果没有,请尝试:
<jar jarfile="HelloWorld.jar" includes="**/*.class" basedir=".">
发布于 2010-08-01 16:59:07
你的basedir是正确的吗?如果jar tvf HelloWorld.jar
是在ami
文件夹下列出的HelloWorld.class
类?如果它直接列在根目录下,则需要从其父文件夹添加它,而不是从ami
文件夹添加。
https://stackoverflow.com/questions/3382858
复制