代码之家  ›  专栏  ›  技术社区  ›  Elliott

使用Ant创建构建文件

  •  1
  • Elliott  · 技术社区  · 16 年前

    我正试图通过网络上的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加载主类manifest属性。

    所以我就这样试了一下:

    <?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 回复  |  直到 15 年前
        1
  •  2
  •   richj    16 年前

    JAR文件是否包含任何类文件?如果没有,尝试:

    <jar jarfile="HelloWorld.jar" includes="**/*.class" basedir=".">
    
        2
  •  0
  •   rsp    16 年前

    你的basedir正确吗?如果你 jar tvf HelloWorld.jar 是班级 HelloWorld.class 列在 ami 文件夹?如果它直接列在根目录下,则需要从其父文件夹中添加它,而不是从 急性心肌梗死 文件夹。