如何在Linux中运行具有外部jar的java文件。还有如何在Windows中运行它?
我尝试了以下操作,但没有工作。
javac -cp c:/lib/lib1.jar;c:/lib/lib2.jar c:/com/example/Application.java
感谢
------ ------ EDITED
现在我的类文件在编译后生成,没有任何错误。但是,当我运行该文件时,它显示以下错误
java -cp C:/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)
任何建议......
答案 0 :(得分:1)
如果你在linux上运行,那么windows应该有不同的目录结构。 linux上的类路径还应包含以冒号(:
)而不是分号(;
)
将你的jar放在linux机器上的一个目录中,可能在/ var / tmp / myjars中。然后使用以下命令编译代码:
javac -cp /var/tmp/myjars/lib1.jar;/var/tmp/myjars/lib2.jar Application.java
修改强> 当你更新了你的问题。您需要在Windows上运行您的课程,如此处所述。我在这里做了一些假设,你的Application类在com.example包中。如果是这种情况,那么您可以从包含com文件夹的文件夹中运行它,如下所述:
java -cp C:/lib/lib1.jar;C:/lib/lib2.jar com.example.Application
答案 1 :(得分:0)
javac
是Java编译器。在编译程序之后,在Windows上运行应该像这样工作
java -cp c:/lib/lib1.jar;c:/lib/lib2.jar c:/com/example/Application
答案 2 :(得分:0)
你可以试试这个
java -cp classpath =%classpath%;< jar文件全路径&gt ;; ClassName
Ex:java -cp classpath =%classpath%; c:/lib/lib1.jar; c:/lib/lib2.jar com.ab.cd.MyClass