gpt4 book ai didi

java - 在 Java 9 中如何针对 jar 文件进行编译?

转载 作者:搜寻专家 更新时间:2023-10-31 19:59:38 26 4
gpt4 key购买 nike

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)

我没有尝试使用模块,只是一个 .jar 文件,我可以通过指定一个 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

最佳答案

您拼错了选项。根据javac options page for Java 9 :

--class-path path , -classpath path, or -cp path

Specifies where to find user class files and annotation processors. This class path overrides the user class path in the CLASSPATH environment variable.

出于某种原因,如果您使用两个连字符选项 --,则“classpath”中有一个连字符:--class-path。一个连字符选项 - 在“classpath”中没有连字符:-classpath

以下任何一个都是有效的:

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

javac *.java -classpath junit.jar

javac *.java -cp junit.jar

关于java - 在 Java 9 中如何针对 jar 文件进行编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50354999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com