【发布时间】:2011-03-23 21:49:44
【问题描述】:
我正在尝试浏览 Web 上的 HelloWorld 示例,该示例向您展示了如何在 Eclipse 中使用 ANT 创建构建文件。这是来自网络示例的项目构建文件
<?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 时,我收到此错误消息 failed to load Main-Class manifest attribute from 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 可以完美运行。
【问题讨论】:
-
这是第二个 XML 文件
-
cmets 中的所有这些 xml 可读性都不是很好,您可以删除这些 cmets 并编辑问题以包含您目前拥有的 xml 吗?
-
现在项目文件是:
但是当我运行它时,我又回到了:c:\workspace\HW>java - jar HelloWorld.jar 线程“main”中的异常 java.lang.NoClassDefFoundError:HelloWorld 在 jar 中:我看到了类文件和清单。我会在下面发帖 -
这是清单:Manifest-Version: 1.0 Ant-Version: Apache Ant 1.7.1 Created-By: 16.3-b01 (Sun Microsystems Inc.) Main-Class: HelloWorld
标签: java eclipse file ant build