簡體   English   中英

在cygwin中將多個jar文件設置為類路徑

[英]setting multiple jar files as classpath in cygwin

我有計划x.javac:\\cygwin\\programs\\x.java ,它使用y.jarz.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM