java - 创建Jar文件,复制类路径

标签 java jar

如果我正在创建 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/

相关文章:

java - Ambari Admin View 2.7.5.0.0 构建失败

java - 通过 Maven Shade 插件构建着色 jar 时保留 Clojure .clj 文件的时间戳

java - 系统时区 ID

java - 避免具有不同类型的集合的原始类型

java - maven-surefire-plugin 虚拟 :dummy. jar :1. 0 丢失

java - jar 应该有 "provided"依赖项吗?

Java Swing : Images not Displaying when run from jar file

Java CLASSPATH 不起作用?

java - 如何在 8 秒内完成 Ads_Fullscreen Activity 并在之后执行 MainActivity?

Java SocketException 达到数据报套接字的最大数量