You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Jenkins中Maven构建项目遇编译错误:Source/Target选项6不被支持

解决Maven编译错误:Source/Target option 6不再支持

这个问题我之前也碰到过,本质就是你的Maven编译插件还在尝试用Java 6的规范编译代码,但当前环境(不管是Jenkins上的JDK还是插件本身的兼容逻辑)已经不再支持Java 6的编译目标了——尤其是你用的maven-compiler-plugin:2.3.2版本比较老旧,它默认的sourcetarget参数就是1.6,自然会触发这个报错。

给你几个实用的解决办法:

1. 直接在pom.xml中指定编译版本

修改项目的pom.xml,给编译器插件配置明确的source和target版本(推荐用1.8,也就是Java 8,现在大部分项目都用这个稳定版本):

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

2. 通过Maven全局属性统一配置

不想单独改插件配置的话,也可以在pom.xml的properties节点里添加全局属性,所有插件都会自动继承这个配置:

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

3. 升级Maven编译插件版本

如果项目允许的话,建议把maven-compiler-plugin升级到更高版本(比如3.8.1),新版本不仅默认支持更高的Java版本,还修复了不少旧版本的bug,后续维护也更省心:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

最后别忘了确认:Jenkins服务器上必须已经安装了Java 7或更高版本的JDK,并且你的Jenkins项目构建配置里已经指定了使用这个JDK(在"构建环境"或"JDK"选项里选择对应版本)。

内容的提问来源于stack exchange,提问作者danielshmu shmayovich

火山引擎 最新活动