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

Maven <execution>在Gradle中的等价实现及Javax转Jakarta插件迁移

Javax转Jakarta:Maven插件转Gradle配置及Task编写

一、对应Maven插件的Gradle配置实现

你提供的Maven插件是Eclipse Transformer,用于将Javax相关类转换为Jakarta规范。在Gradle中可通过以下方式实现相同功能:

首先在build.gradle中添加Transformer的CLI依赖:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.eclipse.transformer:org.eclipse.transformer.cli:0.2.0'
    }
}

二、编写javaxToJakarta Task

创建JavaExec类型的Task,完全对齐你Maven配置的逻辑:

task javaxToJakarta(type: JavaExec) {
    // 指定Transformer CLI的主类入口
    mainClass = 'org.eclipse.transformer.cli.Main'

    // 配置转换参数:输入原Jar、输出带jakarta classifier的Jar、使用内置Jakarta转换规则
    args = [
        '-i', "${buildDir}/libs/${project.name}-${project.version}.jar",
        '-o', "${buildDir}/libs/${project.name}-${project.version}-jakarta.jar",
        '-r', 'jakarta'
    ]

    // 确保先完成原Jar打包,再执行转换
    dependsOn tasks.named('package')

    // 将任务绑定到assemble生命周期,对应Maven的package阶段
    tasks.named('assemble').configure {
        dependsOn javaxToJakarta
    }
}

关键说明

  • 该Task会在package任务完成后执行,生成带jakarta classifier的Jar包,和你Maven配置的效果完全一致。
  • 如果需要自定义转换规则或处理更多文件,可调整args参数,参考Eclipse Transformer的CLI参数说明。
  • 务必确保项目仓库配置了mavenCentral(),否则无法拉取Transformer依赖。

内容的提问来源于stack exchange,提问作者Joo Sung Lee

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 09:54:56