如何使用一个依赖于另一个jar的jar

时间:2009-12-15 04:09:04

标签: java jar

假设在我的应用程序“MyClass”中,我想在jar1中使用A类,而A类的某些部分依赖于jar2中的某些B类。如果我将jar1和jar2放在我的类路径上并运行MyClass,它仍然会抱怨找不到B类。

有人能告诉我如何解决这个问题吗?

非常感谢。

4 个答案:

答案 0 :(得分:3)

使用%CLASSPATH%命令和java参数时,-jar环境变量忽略。使用-classpath参数或其简写-cp指定它。或者,您也可以在执行的JAR文件的class-path文件的MANIFEST.MF条目中指定它。

答案 1 :(得分:0)

我从未遇到过这个问题,但你是否尝试过将jar2放在jar1之前的类路径顺序?我认为jar2更有可能不被正确包含。你可以发布类路径设置吗?

另外,你可能想要打开jar2(它只是一个zip文件),并确认你认为那里的课程实际上在那里。

答案 2 :(得分:0)

我认为在jar1 MANIFEST.MF中包含jar2.jar可能会有效,前提是它们位于同一目录中。

答案 3 :(得分:0)

正如其他答案所提到的那样,在您调用的jar的MANIFEST.MF文件中提供所需jar的名称是解决问题的一种方法。

在jar文件(您首先调用的文件)创建期间,您可以指定包含此详细信息的清单文件,以便它与您的jar捆绑在一起。

Java tutorial有一节介绍如何在jar创建过程中指定Manifest文件。

如果您使用Ant作为构建工具,则可以使用Ant任务Manifest来创建清单文件。您可以使用在构建jar的Ant任务中创建的Manifest文件。

另请查看此link,其中提供了有关清单文件的更多详细信息。

相关问题