2016-11-12 58 views
0

這是一個初學者問題。我在從命令行運行我的java程序時遇到問題。我正在使用Windows10。 問題是以下。我有一個名爲「folder1」的文件夾,位於我的電腦dekstop中。所以完整路徑將是 C:\ Users \ Ioanna \ Desktop \ folder1 在該文件夾內,我創建了第二個文件夾,我命名爲folder2。這樣的路徑,這將是 C:\用戶\約安娜\桌面\文件夾1 \文件夾2無法使用類路徑選項從cmd運行此程序

內部文件夾2我有example.java命名 我想編譯它,並設置-classpath運行此文件中的Java文件通過cmd選項。我不想設置路徑或將文件夾添加到來自環境變量的tha路徑中。

我想

C:\Users\Ioanna\javac -cp C:\Users\Ioanna\Desktop\folder1\folder2 example.java 

,但它說找不到文件。 我嘗試了幾個其他的選擇,但我似乎無法找到如何編譯成功的程序。

+0

你是在C:\用戶\約安娜\桌面\文件夾1 \文件夾2? javac打印什麼? – Artem

回答

1

代碼編譯(字節碼),並執行代碼是兩個獨立的步驟,在Java。

首先,編譯你.java,以獲得相應的.class文件(我假設你的文件夾路徑是正確的)

C:\Users\Ioanna\javac C:\Users\Ioanna\Desktop\folder1\folder2\example.java 

這會給你example.class在同一文件夾中。
接下來,運行類(只要它有一個main()方法):

C:\Users\Ioanna\java -cp C:\Users\Ioanna\Desktop\folder1\folder2 example 
+0

編號java不需要一個.class文件的路徑。它期望一個完全限定的類名,並在類路徑中查找相應的.class文件。 –

+0

@JBNizet所以我的示例中的說明不起作用? – watery

+0

第一個會。第二個不會。假設示例類位於默認包中(這是一種不好的做法),它必須是'java -cp C:\ Users \ Ioanna \ Desktop \ folder1 \ folder2示例'。 –

1

java期望文件的路徑進行編譯。而example.java不在當前文件夾(C:\ Users \ Ioanna)中。

使用

javac Desktop\folder1\folder2\example.java 
+0

謝謝你的工作!編譯!我用什麼來運行example.class? –

+0

閱讀watery現在正確的答案。 –

相關問題