繁体   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