【发布时间】:2018-07-21 04:52:55
【问题描述】:
我在maven-compiler-plugin 上读到过这个。在链接页面上,它告诉:
目前,Compiler Plugin 与
javac编译器工件捆绑在一起,artifactId 为plexus-compiler-javac,可以看作是 Compiler Plugin 的 POM 中声明的依赖项之一
根据我的理解,我们不再需要本地的javac,比如说在我的本地操作系统上,仅仅JRE而不是JDK就足够了。
我确实尝试删除 JDK 并在我的本地系统上只安装了 JRE。但是,当我尝试使用命令 mvn clean compile 编译 maven 时,出现错误消息 -
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
谁能解释为什么会这样?大概是我的理解有误吧?
【问题讨论】:
-
"据我了解,我们不再需要本地 javac。"好吧,除非你想编译一些东西。
-
@Kayaman 我的理解是:如果我想编译一些东西,
plexus-compiler-javac应该可以用来代替本地的javac -
您的理解中有哪一部分是错误的,并且基于错误的假设(基于误读了文档)?
-
“与此插件的名称相反,Compiler Plugin 不会自行编译项目的源代码”的哪一部分您不明白吗?这是您引用的文档的第一行。
-
阅读整个文档以便下次理解。重点是我的; 与此插件的名称相反,Compiler Plugin 不会自行编译项目的源代码。 为了进行编译,Compiler Plugin 使用另一个类来编译它们。参数 compilerId 确定将使用哪个类。目前,Compiler Plugin 与 javac 编译器工件捆绑在一起,artifactId 为 plexus-compiler-javac,可以看作是 Compiler Plugin 的 POM 中声明的依赖项之一。
标签: java maven javac maven-compiler-plugin