用ant创建一个构建文件

时间:2010-08-01 16:51:32

标签: java eclipse file ant build

我正在尝试通过Web上的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加载Main-Class清单属性。

然后我尝试了这样:

<?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运行完美。

2 个答案:

答案 0 :(得分:2)

你的jar文件是否包含任何类文件?如果没有,请尝试:

<jar jarfile="HelloWorld.jar" includes="**/*.class" basedir=".">

答案 1 :(得分:0)

你的基础是否正确?如果jar tvf HelloWorld.jarHelloWorld.class文件夹下列出的ami类?如果它直接列在根目录下,则需要从其父文件夹添加它,而不是从ami文件夹添加。