6

我正在尝试从 Eclipse 项目创建一个独立的 .jar 文件。“自包含”是指该项目的所有依赖项(即其他 jars)都应包含在生成的 jar 中。我想在另一个项目中使用导出的 jar 作为库。问题是我从依赖项中获得了其中一个类的 NoClassDefFoundError 。我尝试导出一个包含所有依赖项的可运行 jar 和一个“普通”jar。这些都不起作用。

清单如下所示:

Manifest-Version: 1.0
Main-Class: com.path.to.MyMainClass
Class-Path: lib/resolver.jar lib/xercesImpl.jar lib/xml-apis.jar lib/Mac-Cocoa64/swt.jar  

.classpath 如下所示:

<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
    <classpathentry kind="lib" path="lib/resolver.jar"/>
    <classpathentry kind="lib" path="lib/xercesImpl.jar"/>
    <classpathentry kind="lib" path="lib/xml-apis.jar"/>
    <classpathentry kind="lib" path="lib/Mac-Cocoa64/swt.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

缺少的类 def 来自 SWT.jar 文件。知道可能有什么问题或我需要采取哪些步骤才能成功导出此 jar 以便可以将其包含在其他地方?

干杯,

马丁

4

2 回答 2

13

它可能会帮助某人

1.从项目属性中选择导出

1.从项目属性中选择导出

2.选择 Runnable Jar 选项

2. Runnable Jar 选项

3.完成JAR创建(在这里,您可以选择将所有依赖项打包到生成的jar中。)

3. 完成创作。

于 2014-05-14T11:55:25.360 回答
0

只是为了回答这个问题:最后,我们决定将依赖项的jars直接包含在项目中,避免jars中的havign jars。也正在考虑使用 Mavin,但需要对我们的项目设置方式进行一些实质性的改变。

于 2013-11-11T13:26:12.110 回答