首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用ant创建构建文件

使用ant创建构建文件
EN

Stack Overflow用户
提问于 2010-08-02 00:51:32
回答 2查看 1.6K关注 0票数 1

我正在尝试完成HelloWorld上的示例,该示例向您展示了如何在Eclipse中使用ANT创建构建文件。这是来自web示例的项目构建文件。

代码语言:javascript
代码运行次数:0
运行
复制
<?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加载主类清单属性。

所以我试着这样做:

代码语言:javascript
代码运行次数:0
运行
复制
<?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时,我得到了以下错误消息:

代码语言:javascript
代码运行次数:0
运行
复制
Exception in thread "main" java.lang.NoClassDefFoundError: ami/HelloWorld

我做错了什么。顺便说一句,当我手动编译源代码并在Eclipse中指定Main.class时,生成的jar可以很好地运行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-02 00:58:17

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

代码语言:javascript
代码运行次数:0
运行
复制
<jar jarfile="HelloWorld.jar" includes="**/*.class" basedir=".">
票数 2
EN

Stack Overflow用户

发布于 2010-08-02 00:59:07

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3382858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档