如果我正在创建 superjar.jar
并且它需要一个 jar 文件 stellar.jar
我需要将以下行添加到 superjar.jar 的 list 文件中
类路径:path/to/stellar.jar
。但在我的类路径中,我已经有了 stellar.jar
。那么这是怎么回事呢?为什么 superjar.jar
无法尝试从我的类路径查找 stellar.jar
的位置?
最佳答案
I need to add the following line to the manifest file for superjar.jar Class-Path: path/to/stellar.jar.
如果环境变量 CLASSPATH 被忽略,则您的 superjar 中需要该路径,并且如果您使用 superjar 作为可执行 jar,并使用
启动它,则它会被忽略java -jar superjar.jar
superjar.jar 可以访问类路径,如果它启动时没有使用不同的临时类路径覆盖类路径,并且没有运行可执行 jar 的技术,它总是只使用该 jar 内的 CLASSPATH,并且总是忽略附加的类路径的尝试。
CLASSPATH=/foo/bar/superjar.jar:/opt/some/stellar.jar
java somepackage.SomeClass
类路径是相对的还是绝对的是一个不同的、不相关的讨论。上面的示例使用 Unix/Linux 语法。在 Windows 上,您可以使用反斜杠作为分隔符“;”。
关于java - 创建Jar文件,复制类路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6218662/