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
答案 0 :(得分:5)
你拼错了选项。根据{{3}}:
--class-path
路径,-classpath
路径或-cp
路径指定在何处查找用户类文件和注释处理器。此类路径将覆盖
CLASSPATH
环境变量中的用户类路径。
出于某种原因,如果您使用两个连字符选项--
,则“classpath”中有一个连字符:--class-path
。一个连字符选项-
在“classpath”中没有连字符:-classpath
。
其中任何一项都有效:
javac *.java --class-path junit.jar
javac *.java -classpath junit.jar
javac *.java -cp junit.jar