我想從我的終端運行一個Java程序。我有Mac OS X 10.7。如何從終端運行Java程序?
teamL javac -jar kxml2-2.3.0.jar XMLHandler.java ServiceEndpoint.java TeamL.java
這是我的Eclipse類文件結構:
我無法找到這是爲什麼扔Unable to access jarfile kxml2-2.3.0.jar
?
我想從我的終端運行一個Java程序。我有Mac OS X 10.7。如何從終端運行Java程序?
teamL javac -jar kxml2-2.3.0.jar XMLHandler.java ServiceEndpoint.java TeamL.java
這是我的Eclipse類文件結構:
我無法找到這是爲什麼扔Unable to access jarfile kxml2-2.3.0.jar
?
如果您正在引用任何外部庫,那麼您必須將它們添加到classpath
。您可以通過這種方式在編譯類時添加它。
轉到src目錄和:
javac -classpath ".:<path_to_jar_file>" teamL/*.java
執行:
java -cp ".:<path_to_jar_file>" teamL.<class_name>
如果您使用Eclipse,然後去<project_directory>/bin/
在這裏你可以找到已編譯的類(所以你不要有以編譯它們)並使用上述命令直接運行它們java
命令
注意:由於您的類按teamL
p ackage,你必須通過指定完全限定名稱來運行包裝外的類,如teamL.ServiceEndpoint
你不能使用'-jar'用於編譯,'-jar'用於直接執行jar應用程序。我不知道你的項目文件夾在哪裏!我想你一定知道如何使用終端中的'cd'命令來改變當前目錄。只需在終端中cd到'Documents/adsproject/ADS_Deliverable1/src /',然後選擇'javac -classpath':
確定看截圖,我看到你的項目目錄是'home/Users/vsingh3/Documents/adsproject/ADS_Deliverable1'打開一個新的終端,然後鍵入'cd Documents/adsproject/ADS_Deliverable1/src'然後'javac -classpath「。:Documents/adsproject/ADS_Deliverable1/
謝謝,但我只是注意到你的意見,如果你是在日食上運行。所以,我想我不需要編譯。另一件事是,因爲我的jar文件沒有找到,所以我複製粘貼它在每個文件夾。我在'ADS_Deliverable1-> src-> teamL'中擁有所有源文件和jar文件。我現在正在運行它像''teamL java -cp -jar kxml2-2.3.0.jar XMLHandler.java ServiceEndpoint.java TeamL.java'爲什麼在線程中拋出'Exception「main」java.lang。NoClassDefFoundError:kxml2-2/3/0/jar 引起:java.lang.ClassNotFoundException:kxml2-2.3.0.jar' – Ava
當您在命令行上執行程序時,是否將該jar添加到類路徑中?例如
的java -classpath location_of_jar ...
javac
是編譯的,與其你應該使用命令的Java命令。
java -classpath %classpathVariable% %YourClass% %arguments...
Running a Java Program from Command Prompt這可以給你一個更好的主意是Windows,但與此類似。
對我來說,它看起來像它沒有找到jarfile – Neifen
@Vinisa,接受答案並關閉這個問題 – Rakesh