是否可以创建需要外部依赖项的JAR文件,而不在JAR文件中包含这些依赖项?在不包含外部依赖关系的情况下创建JAR文件
我的google-fu没有给我答案;我找到的所有东西都显示了如何将它们包含在JAR文件中,但不是要在清单文件中放入“我没有它们,查看用户的类路径”的内容。我会假设依赖关系在用户的类路径上正确安装和配置。
就我而言,我的依赖是Apache Commons CLI和Math。
编辑: 在我的JAR文件中,我有Main.class。
我的清单文件看起来像:
Manifest-Version: 1.0
Created-By: 1.6.0 (Sun Microsystems Inc.)
Main-Class: Main
我的CLASSPATH看起来像
.;C:\Program Files\Java\jre1.6.0_06\lib\ext\QTJava.zip;C:\java_lib\commons-cli-1.2.jar;C:\java_lib\commons-math-2.0\commons-math-2.0.jar
如果我包括在JAR依赖于/lib
而行Class-Path: lib/commons-math-2.0.jar lib/commons-cli-1.2.jar
添加到清单,然后它工作。
我已经试过在manifest中添加Class-Path: commons-math-2.0.jar commons-cli-1.2.jar
而不在JAR中包含文件,只是为了看看这是否可行,但它没有。
但我不知道它们在哪里,除了它们存在于用户计算机的类路径中。 – masher 2010-02-15 05:47:38
@masher将所有东西都捆绑在一个zip中,以便控制位置。否则,这不适合你。更好的方法是让用户在这种情况下手动设置他的班级路径。 – 2010-02-15 06:10:27
@masher:如果你不知道它们在哪里,你根本不应该列出它们,但是用户需要将它们放在你的jar旁边的类路径中。 – Fredrik 2010-02-15 06:18:36