[英]setting multiple jar files as classpath in cygwin
我有計划x.java
在c:\\cygwin\\programs\\x.java
,它使用y.jar
和z.jar
,同時也是在文件夾c:\\cygwin\\programs
。
在窗口中:
c:cygwin\programs>javac -classpath c:\cygwin\programs\y.jar;c:\cygwin\programs\z.jar x.java
沒有錯誤。
在 cygwin 中
(1)
$javac -classpath c\:/cygwin/programs/y.jar;c\:/cygwin/programs/z.jar x.java
Errors: $'PK\003\004': Command not found.
(2)
$javac -classpath c:\cygwin\programs\y.jar;c:\cygwin\programs\z.jar x.java
Errors: -bash command Command not found.
(3)
$javac -classpath 'c:/cygwin/programs/y.jar;c:/cygwin/programs/z.jar' x.java
No error.
為什么在(1),(2)的情況下會出錯......
您正在搞亂轉義字符反斜杠\\
。 在基於 Unix 的環境中,最好使用/
作為路徑分隔符。 如果出於某種原因要使用反斜杠,請使用附加的反斜杠,即\\\\
將其視為路徑中的文字。
由於上述原因,第一條語句不會導致正確的路徑,因此不會導致失敗。
Cygwin 對待;
字符作為開始一個新的命令行,所以在(1)中它試圖執行單獨的命令
$ javac -classpath c\:/cygwin/programs/y.jar
$ c\:/cygwin/programs/z.jar x.java
錯誤消息來自 Cygwin,它試圖將 jar 文件直接作為腳本執行。
您可以像 (3) 中那樣用''
引用整個參數,或者轉義分號:
$ javac -classpath c\:/cygwin/programs/y.jar\;c\:/cygwin/programs/z.jar x.java
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.