2017-04-03 16 views
0

我在嘗試使用下面的命令來編譯2個jar文件和4個Java源文件:錯誤編譯不止一個jar文件與一個以上的Java源文件

javac -classpath junit-4.12.jar jar2.jar 1.java 2.java 3.java 4.java

不過,我得到以下錯誤:

error: package jar2 does not exist import jar2.class;

雖然,下面編譯成功:

javac -classpath jar2.jar 1.java 2.java

我禾如果有人請花時間來幫助我,我會非常感激。

+0

它在windows中嗎? – developer

+0

@javaguy不,它在macOS上。 –

回答

1
javac -classpath junit-4.12.jar jar2.jar 1.java 2.java 3.java 4.java 

您不在類路徑的值之間使用有效的分隔符。 空白字符確實不是類路徑值的有效分隔符。

根據基於OS,分隔符是:;

使用Unix操作系統爲主,分隔符是:字符(see Oracle Java 8 reference):

javac -classpath junit-4.12.jar:jar2.jar 1.java 2.java 3.java 4.java 

隨着Windows操作系統的基礎,分隔符是;字符(see Oracle Java 8 reference):

javac -classpath junit-4.12.jar;jar2.jar 1.java 2.java 3.java 4.java 
+0

它工作!非常感謝您的幫助。 –

+1

歡迎您:)這沒什麼。在我的答案中,我在windows和unix os上添加了關於它的Oracle引用。 – davidxxx

1

您需要使用:作爲文件在兩個jar之間的分隔符來爲MacOS設置類路徑:

javac -classpath junit-4.12.jar:jar2.jar 1.java 2.java 3.java 4.java 
+0

我懂了。非常感謝您的幫助。 –