在linux中使用外部JAR运行java文件
如何在Linux中运行具有外部JAR的java文件。如何在Windows中运行它 我尝试了以下方法,但没有成功在linux中使用外部JAR运行java文件,java,linux,Java,Linux,如何在Linux中运行具有外部JAR的java文件。如何在Windows中运行它 我尝试了以下方法,但没有成功 javac -cp c:/lib/lib1.jar;c:/lib/lib2.jar c:/com/example/Application.java 谢谢 ------编辑------ 现在我的类文件在编译后生成,没有任何错误。但当我运行该文件时,它显示以下错误 java-cpc:/lib/lib1.jar;C:/lib/lib2.jar C:/com/example/Applicat
javac -cp c:/lib/lib1.jar;c:/lib/lib2.jar c:/com/example/Application.java
谢谢
------编辑------
现在我的类文件在编译后生成,没有任何错误。但当我运行该文件时,它显示以下错误
java-cpc:/lib/lib1.jar;C:/lib/lib2.jar C:/com/example/Application
Exception in thread "main" java.lang.NoClassDefFoundError: C:/com/example/Application
Caused by: java.lang.ClassNotFoundException: C:/com/example/Application
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
任何建议…如果您在linux上运行,那么应该有不同于windows的目录结构。此外,linux上的类路径应该包含路径,路径由冒号(
:
)分隔,而不是分号(;
)
将JAR放在linux机器上的目录中,可能位于/var/tmp/myjars中。然后使用以下命令编译代码:
javac -cp /var/tmp/myjars/lib1.jar;/var/tmp/myjars/lib2.jar Application.java
编辑
因为你已经更新了你的问题。您需要在这里提到的windows上运行类。我在这里假设您的应用程序类在com.example包中。如果是这种情况,则可以从包含com文件夹的文件夹中运行它,如下所述:
java -cp C:/lib/lib1.jar;C:/lib/lib2.jar com.example.Application
javac
是Java编译器。编译程序后,在windows上运行的程序应该是这样工作的
java -cp c:/lib/lib1.jar;c:/lib/lib2.jar c:/com/example/Application
你可以试试这个
java-cp类路径=%classpath%;例如:java-cp类路径=%classpath%;c:/lib/lib1.jar;c:/lib/lib2.jar com.ab.cd.MyClassLinux没有
c://
路径(上次我检查时),路径分隔符不是代码>她在问如何在Windows上运行她在问这两个问题。答案是:检查在每个系统上写入路径的正确方法使用上述命令在Windows上会出现什么错误?@MadProgrammer:我在Windows上尝试过,但在运行文件时遇到错误。请查看我在实际文档中编辑的部分post@user2670291更新了我的答案,同样没有什么假设;-)