簡體   English   中英

如何在Java 9中針對jar文件進行編譯?

[英]How do you compile against a jar file in Java 9?

Java 9引入了模塊的概念,這些模塊不會顯式替換jar文件,但是舊的--classpath選項似乎已消失。

命令 javac --help不再提及類路徑。

我正在嘗試針對JUnit編寫一些學生論文:

> javac *.java --classpath junit.jar

但是根據我的嘗試,我會遇到各種錯誤。 對於上面的示例:

javac: invalid flag: --classpath

我的Java版本是:

> java --version
java 9
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)

我不是在嘗試使用模塊,而只是通過指定libs文件夾將其包含在IntelliJ中的.jar文件。

編輯 :我真正的問題是我沒有包括正確的罐子。 使用IntelliJ的默認JUnit5配置進行編譯可以:

 javac -classpath "C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.5\plugins\junit\lib\junit-jupiter-api-5.0.0.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.5\plugins\junit\lib\opentest4j-1.0.0.jar" *.java

您拼錯了該選項。 根據Java 9javac選項頁面

--class-path 路徑-classpath 路徑-cp 路徑

指定在何處查找用戶類文件和注釋處理器。 該類路徑將覆蓋CLASSPATH環境變量中的用戶類路徑。

由於某些原因,如果您使用兩個連字符選項-- ,則“類路徑”中會有一個連字符:-- --class-path 一個連字符選項- “ classpath”中沒有連字符: -classpath

以下任何一項均有效:

javac *.java --class-path junit.jar

javac *.java -classpath junit.jar

javac *.java -cp junit.jar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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