Java 将所有JAR中的所有类加载到类路径
我有一个文件夹Java 将所有JAR中的所有类加载到类路径,java,cmd,jar,classpath,executable-jar,Java,Cmd,Jar,Classpath,Executable Jar,我有一个文件夹libs,其中包含几个jar,还有一个应用程序(比如MyTest.jar),它使用这些libs中的一些类。我需要的是使用一种-cp(-classpath)参数运行MyTest.jar,该参数将把文件夹libs中的所有jar完全添加到类路径中 我已经尝试了java-cpe:\libs-jarmytest.jar。但是,这似乎根本没有加载库,从我得到的这个错误中可以看出(它表示找不到库类me.darksidecode.simpleconfigs.Config): 其中Config(me
libs
,其中包含几个jar,还有一个应用程序(比如MyTest.jar
),它使用这些libs中的一些类。我需要的是使用一种-cp
(-classpath
)参数运行MyTest.jar
,该参数将把文件夹libs
中的所有jar完全添加到类路径中
我已经尝试了java-cpe:\libs-jarmytest.jar
。但是,这似乎根本没有加载库,从我得到的这个错误中可以看出(它表示找不到库类me.darksidecode.simpleconfigs.Config
):
其中Config
(me.darksidecode.simpleconfigs.Config
)是simpleconfigs.jar
库的一个类,它存在于我的libs
(E:\libs
)文件夹中,并且有效
我也尝试过显式地指定一个库(SimpleConfigs.jar
),但没有效果:java-cpe:\libs\SimpleConfigs.jar-jar MyTest.jar
。同样的错误也会发生
我怎样才能让它工作
编辑:似乎我必须在MyTest.jar
的MANIFEST.MF文件中指定类路径。这里我遇到了一个新问题:我只能在类路径中指定确切的JAR名称,如下所示:
Class-Path: /E:/libs/SimpleConfigs.jar
它是这样工作的。但当我尝试指定整个目录时:
Class-Path: /E:/libs/
它再次开始抛出上述错误(java.lang.NoClassDefFoundError
)
-罐子
执行封装在JAR文件中的程序。第一个参数是JAR文件的名称,而不是启动类名。要使此选项起作用,JAR文件的清单必须包含一行Main Class:classname格式的内容。在这里,classname使用公共静态void main(String[]args)方法标识类,该方法作为应用程序的起点
使用此选项时,JAR文件是所有用户类的源,其他用户类路径设置将被忽略
一种解决方法是将MyTest.jar附加到类路径(-cp),并将MyTest.jar中的主类指定为java的参数
java -cp Mytest.jar;E:\libs\* me.darksidecode.KekGUI
@谢谢,不过现在我有一个不同的问题。更新了我的帖子。如果你的问题解决了,你应该写一个答案或者删除帖子。如果你有一个新问题,你应该开始一个新的线程。
Class-Path: /E:/libs/
java -cp Mytest.jar;E:\libs\* me.darksidecode.KekGUI