如果我正在创建superjar.jar
并且需要一个jar文件stellar.jar
,我需要将以下行添加到superjar.jar的清单文件中
Class-Path: path/to/stellar.jar
。但在我的类路径中,我已经有stellar.jar
。那么这笔交易是什么?为什么superjar.jar
无法从我的类路径中查找stellar.jar
的位置?
答案 0 :(得分:0)
如果CLASSPATH表示环境变量,那么您将学习Java,所有IDE和所有Java EE应用服务器都会忽略它。
我在我工作的任何机器上都没有CLASSPATH环境变量,因为它没用。您需要了解如何在不依赖环境变量的情况下正确设置CLASSPATH。
答案 1 :(得分:0)
两件事:
答案 2 :(得分:0)
我需要将以下行添加到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-Syntax。在Windows上,您将使用反斜杠和分隔符“;”。