2013-08-27 46 views
-2

如何運行在Linux中使用外部罐子的java文件。還有如何在Windows中運行它?在linux中使用外部罐子運行java文件

我試過以下,但沒有工作。

javac -cp c:/lib/lib1.jar;c:/lib/lib2.jar c:/com/example/Application.java 

感謝

------編輯,而不任何錯誤編譯後------

現在得到我生成的類文件。但是,當我運行該文件示出它的下面的錯誤

的java -cp C:/lib/lib1.jar; C:/lib/lib2.jar C:/ COM /示例/應用

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) 

不限建議...

+1

Linux沒有一個' C:/'路徑(上次我檢查)和路徑分隔符不是';' – MadProgrammer

+0

她問如何在Windows上運行 –

+0

她問兩個。答案是:檢查在每個系統上寫入路徑的正確方法 – Barranka

回答

1

如果你在linux上運行,那麼應該有不同的目錄結構。另外,linux上的classpath應該包含由冒號分隔的路徑(:)而不是分號(;

把你的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 
+0

謝謝@Ashan:請參閱我在編輯部分的帖子 – user2670291

+0

@ user2670291更新了我的答案,再次提出了一些假設;-) –

0

javac是Java編譯器。編譯後的程序在Windows上運行的工作應該像這樣

java -cp c:/lib/lib1.jar;c:/lib/lib2.jar c:/com/example/Application 
+0

我在運行文件時出錯。請在實際的帖子中查看我編輯過的部分 – user2670291

0

你可以試試這個

java命令CLASSPATH =%CLASSPATH%; < jar-file full-path>;類名

例:JAVA -cp類路徑=%類路徑%; C:/lib/lib1.jar; C:/lib/lib2.jar com.ab.cd.MyClass