【问题标题】:specifying class directory in ant manifest在 ant manifest 中指定类目录
【发布时间】:2011-06-30 19:37:54
【问题描述】:

我的 build.xml 中的清单内容如下所示

<manifest file="MANIFEST.MF">
    <attribute name="Built-By" value="Me" />
    <attribute name="Main-Class" value="LogReporter"/>
</manifest>

但是我的 .class 文件位于另一个基于 ir/src 的目录中。有没有办法指定类文件的目录? 运行当前 jar 会给我一个 classdefnotfound 错误。 另外,我不是在寻找类路径属性,因为所有类文件都在同一个项目/jar 中。

【问题讨论】:

    标签: ant manifest


    【解决方案1】:

    您的类文件应位于与其包对应的目录中。例如,如果包名称为com.some.package,则所有类文件都应位于目录com/some/package 中。连续地,您应该使用其完全限定名称来引用您的主类 - 例如com.some.package.MainClass

    Java 教程包含一个很好的示例:http://download.oracle.com/javase/tutorial/deployment/jar/appman.html

    【讨论】:

    • 我修复了包的问题,​​因为我在 Eclipse 中使用了默认包。但是我得到了另一个 NoClassDefFoundError: com/MyClass 我正在使用 eclipse,它将类文件放在 ./src 和 ./bin/com 下
    • 您可以通过在项目的属性中设置“默认输出文件夹”选项来配置 Eclipse 放置类文件的位置(我认为它是“Java 构建路径”部分)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2011-03-16
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多