Java '有什么用;叉子';和';可执行文件';Maven编译器插件中的选项?
Maven编译器插件配置Java '有什么用;叉子';和';可执行文件';Maven编译器插件中的选项?,java,maven,maven-compiler-plugin,Java,Maven,Maven Compiler Plugin,Maven编译器插件配置 ... <fork>true</fork> <executable>${env.JAVA_HOME}\bin\javac.exe</executable> ... 。。。 符合事实的 ${env.JAVA\u HOME}\bin\javac.exe ... Maven编译器插件有一个很好的页面,解释所有插件选项 :允许在单独的进程中运行编译器。如果错误 它使用内置编译器,如果为true,则使用 可执行文件 :设置编译器的
...
<fork>true</fork>
<executable>${env.JAVA_HOME}\bin\javac.exe</executable>
...
。。。
符合事实的
${env.JAVA\u HOME}\bin\javac.exe
...
Maven编译器插件有一个很好的页面,解释所有插件选项
:允许在单独的进程中运行编译器。如果错误
它使用内置编译器,如果为true,则使用
可执行文件
:设置编译器的可执行文件,以便在使用fork时使用
是真的
添加到:
如果省略
并设置了true
,maven编译器插件将选择JAVA\u HOME/bin/javac
二进制文件
如果设置了false
,maven编译器插件将通过ToolProvider接口选择编译器。这意味着不会启动新的进程,Maven正在运行的Java VM也会进行编译
使用false
,您还可以使用compilerId
参数选择另一个编译器
提示:使用默认值,除非你有很好的理由去更改它们。
这是我现在唯一能想到的好理由
使用另一个java安装中的另一个javac不是一个很好的理由:在Maven构建代码时。它分叉了Windows的
javac.exe
进程,该进程是Windows的Java编译器应用程序,因此即使系统中未安装Java,代码也会运行?不,必须在您的计算机上安装javac程序,并且还必须添加到环境变量${env.Java\u HOME}
表示您安装JavaEL的目录。您知道在系统中不安装java的情况下运行代码的方法吗。就像在pom.xml文件中添加一些东西一样,如果您的计算机上没有安装Java,那么您应该如何运行Maven来读取pom文件配置?另一个原因是:如果您想使用-Xstdout文件重定向编译器输出,您必须使用fork来传递该选项。事实上,任何非标准选项都必须有fork