You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询: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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 17:22:34