2014-10-06 49 views
0

我的项目结构如下如何设置类路径中的Java manifest.txt

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的罐子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有什么问题?

感谢您的帮助。

+0

请添加一些关于生成的main.jar所在的文件结构的声明,以及它与externalLibs文件夹的关系。 – mschenk74 2014-10-06 11:07:16

+0

添加输出jar结构。请检查,谢谢 – Fischer 2014-10-07 02:17:36

+0

问题是你的externalLibs文件夹在jar文件中。标准类加载器不支持这个“胖罐子” – mschenk74 2014-10-07 04:15:26

回答

1

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

+0

尝试使用该选项导出为Runnable Jar文件。然而,在启动配置的领域,我的项目似乎不能选择和导出。我还注意到有些项目出现,有些则没有。是什么造成这种差异?谢谢 – Fischer 2014-10-07 02:21:56

+0

好吧,我明白了。所以启动配置是eclipse如何决定项目的主要类。所以如果你执行主要方法,你会看到它显示为一个运行配置。所以继续,首先运行一次main方法。然后菜单“运行” - >“运行配置...”将显示运行配置列表。你应该在那里看你的课。如果需要,您可以在那里对其进行调整,名称等。 – 2014-10-07 08:25:18

+0

此外,您只会看到Java项目的选项,其他项目不会出现。 – 2014-10-07 09:51:13