有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

如果我正在创建superjar.jar,并且它需要一个jar文件stellar.jar,那么我需要为superjar的清单文件添加以下行。罐子 Class-Path: path/to/stellar.jar。但是在我的类路径中,我已经有了stellar.jar。那么这里的交易是什么?为什么superjar.jar不能尝试从我的类路径中查找stellar.jar的位置


共 (3) 个答案

  1. # 1 楼答案

    两件事:

    1. 通往星光大道。jar是相对于superjar的。罐子
    2. 如果是恒星的话。jar已经在类路径中,不管superjar是什么,它都在类路径中。jar的清单上写着
  2. # 2 楼答案

    I need to add the following line to the manifest file for superjar.jar Class-Path: path/to/stellar.jar.

    如果环境变量CLASSPATH被忽略,并且如果将superjar用作可执行jar,并且从

    java -jar superjar.jar
    

    超级罐子。jar可以访问类路径,如果它在启动时没有使用不同的特殊类路径覆盖类路径,也没有运行可执行jar的技术,jar总是只使用该jar中的类路径,并且总是忽略类路径的其他尝试

    CLASSPATH=/foo/bar/superjar.jar:/opt/some/stellar.jar 
    java somepackage.SomeClass
    

    类路径是相对的还是绝对的,这是一个不同的、无关的讨论。上面的示例使用Unix/Linux语法。在Windows上,可以使用反斜杠和作为分隔符“;”

  3. # 3 楼答案

    如果CLASSPATH意味着一个环境变量,那么您将了解到Java、所有IDE和所有JavaEE应用服务器都忽略了它

    在我工作的任何机器上都没有CLASSPATH环境变量,因为它是无用的。您需要学习如何在不依赖环境变量的情况下正确设置类路径