如何在Java manifest.txt中设置Class-Path

时间:2014-10-06 10:58:49

标签: java eclipse

我的项目结构如下

TestProject
    |
    |---- src
    |      |
    |      |---- package
    |               |
    |               |---- main.java
    |
    |---- externaLibs
               |
               |---- lib.jar

manifest.txt如下:

    Manifest-Version: 1.0

    Created-By: 1.7.0_06 (Oracle Corporation)

    Main-Class: package.Main

    Class-Path: ../externaLibs/lib.jar ./externaLibs/lib.jar /externaLibs/lib.jar externaLibs/lib.jar lib.jar (However I've tried these class paths to the lib.jar, none of them works)

使用Eclipse导出我的项目,然后,在执行命令时:java -jar main.jar,总是会发生无法找到外部lib.jar的异常:

   Exception in thread "main" java.lang.NoClassDefFoundError: org/example/SomeClassInLib

输出jar结构如下:

testproject.jar
    |
    |---- externaLibs
    |        |
    |        |---- lib.jar
    |
    |---- pasckage
    |        |
    |        |---- main.java / main.class / and so on...
    |
    |---- META-INF
             |
             |---- MANIFEST.MF

manifest.txt有什么问题?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在导出时的eclipse中,有一个选项可以导出为Runnable Jar File。您可以使用向导中的库处理单选按钮来选择处理依赖项的方式。使用前两个选项,依赖项将添加到jar中。第三个选项创建一个输出文件夹,并将依赖项jar放置在jar的可访问位置。