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

Maven项目中强制指定Java源与目标版本的两种方式

在Maven项目中强制指定Java源/目标版本的两种常用方式

在基于Maven的Java项目里,要是你想强制锁定Java的源版本(source)和目标版本(target),主要有两种主流方案,我给你逐一说明:


方式一:通过<properties>全局配置

这是最简洁直观的方式,直接在POM的<properties>节点里添加相关属性,把版本信息集中管理,后续修改也方便。通常我们还会在这里统一配置编码格式:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>10</maven.compiler.source>
    <maven.compiler.target>10</maven.compiler.target>
</properties>

Maven会自动读取这些属性,传递给maven-compiler-plugin插件来编译代码,不用额外配置插件细节,适合大多数简单项目。


方式二:通过<build>下的<pluginManagement>配置

如果你需要锁定插件版本(避免使用Maven默认的旧版插件),或者要给插件添加更多自定义参数,就适合用这种方式。你需要在<pluginManagement>里显式配置maven-compiler-plugin,并指定源和目标版本:

<build>
    <pluginManagement>
        <!-- 锁定插件版本,避免使用Maven默认的旧版本 -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.11.0</version> <!-- 推荐使用较新的稳定版本 -->
                <configuration>
                    <source>10</source>
                    <target>10</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

这种方式的优势在于能统一团队内的插件版本,避免因插件版本差异导致的编译问题,适合中大型团队项目或者对构建流程有严格要求的场景。


内容的提问来源于stack exchange,提问作者Basil Bourque

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:41:37