咨询:Maven是否自带Java Compiler,还是依赖JDK中的编译器或两者兼具?
Maven与Java编译器的依赖关系
Maven核心本身不自带Java编译器,默认情况下完全依赖你系统中配置的JDK里的
javac工具完成编译。它通过maven-compiler-plugin插件调用JDK的编译器,前提是你已经正确设置了JAVA_HOME环境变量,让Maven能定位到JDK的安装路径。如果你不想依赖JDK的
javac,也可以通过配置maven-compiler-plugin来使用Eclipse Compiler for Java(ECJ)——这是一个纯Java实现的独立编译器,插件会自动引入它的依赖,此时不需要JDK中的javac,但仍需要JRE来运行Maven本身。配置示例如下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.11.0</version> <configuration> <compilerId>eclipse</compilerId> </configuration> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-eclipse</artifactId> <version>2.12.1</version> </dependency> </dependencies> </plugin>
- 简单总结:Maven核心没有内置编译器,默认依赖JDK的
javac;但借助插件扩展,可以使用独立于JDK的ECJ编译器,实现不依赖JDK编译器的编译流程。
内容的提问来源于stack exchange,提问作者Nora McDougall-Collins
相关产品推荐
相关产品推荐

