Java 使用JAR的简单类路径问题

Java 使用JAR的简单类路径问题,java,jar,classpath,Java,Jar,Classpath,我有一个叫做Test.class的玩具程序。它访问一个名为myjar.jar的jar中的类。该jar位于作为Windows环境一部分的类路径变量集中。当我键入echo%CLASSPATH%时,我看到C:\myclasses\myjar.jar。当我执行我的程序时 java测试 它运行良好 但是如果我将代码打包为jar并尝试运行 java-jartest.jar 它可以 它找不到我的类路径。我知道这有一个简单的解决方案 您能帮助我吗。当使用了-jar(或-cp或-classpath)参数时,%cl

我有一个叫做Test.class的玩具程序。它访问一个名为myjar.jar的jar中的类。该jar位于作为Windows环境一部分的类路径变量集中。当我键入echo%CLASSPATH%时,我看到C:\myclasses\myjar.jar。当我执行我的程序时 java测试

它运行良好

但是如果我将代码打包为jar并尝试运行

java-jartest.jar

它可以 它找不到我的类路径。我知道这有一个简单的解决方案

您能帮助我吗。

当使用了
-jar
(或
-cp
-classpath
)参数时,
%classpath%
将被忽略。相反,将使用JAR的
/META-INF/MANIFEST.MF
文件中的
类路径
项。您希望将JAR与另一个JAR的相对路径放在其中。例如

Class-Path: myjar.jar
上面的示例期望
myjar.jar
与要执行的jar文件位于同一文件夹中

另一种方法是将第三方JAR打包到JAR文件中。例如,在Eclipse中,您可以这样做


首先,我不会再为这些东西操心了(我也用过),让我的IDE(Netbeans/Eclipse)帮你弄清楚这些东西。顺便说一句,我已经希望您使用IDE,因为它使Java编程变得更加有趣

接下来,我建议您学习像maven这样的构建工具