将 Gradle 模块包含到 Maven 项目中

2024-01-03

我们有一个使用 Maven 作为构建系统的大型项目。我们决定在未来的项目中将使用 Gradle 作为更方便的工具,但我们也希望将 Gradle 用于我们的遗留项目。

我认为从 Maven 迁移到 Gradle 会非常痛苦,因为 POM 文件中有大量代码(我们有非常繁重的构建逻辑)。

我知道,Gradle 有自动迁移工具(gradle init),但它不能正常工作(我认为这个工具适用于没有特定构建逻辑的小型 Maven 项目)。

那么,这里有一个问题:我可以吗?将 Gradle 模块包含到 Maven 项目中小步迁移?也许有 Maven 插件,允许处理build.gradle as pom.xml file?


有一个gradle-maven-插件 https://github.com/LendingClub/gradle-maven-plugin它允许您从 Maven 中运行 Gradle 任务。从插件描述来看:

要使用插件,只需声明插件并将其绑定到maven 您选择的生命周期阶段:

<plugin>
    <groupId>org.fortasoft</groupId>
    <artifactId>gradle-maven-plugin</artifactId>
    <version>1.0.8</version>
    <configuration>
        <tasks>
            <!-- this would effectively call "gradle doSomething" -->
            <task>doSomething</task>
        </tasks>
    </configuration>
    <executions>
        <execution>
            <!-- You can bind this to any phase you like -->
            <phase>compile</phase>
            <goals>
                <!-- goal must be "invoke" -->
                <goal>invoke</goal>
            </goals>
        </execution>
    </executions>
</plugin>

现在,当你运行maven时,gradle将被调用并执行 build.gradle 中定义的“doSomething”任务。

显然,您可以更改任务以满足您的需要。

在这个例子中,gradle调用将在maven期间发生 “编译”阶段,但这可以通过更改来轻松更改 元素值。

不确定如何将 Gradle 构建的工件包含到您的依赖项中,可能您需要将此工件发布到本地 Maven 存储库,以使其可用于您的 Maven 项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Gradle 模块包含到 Maven 项目中 的相关文章

  • JavaFX 图像未在舞台中显示

    我尝试了很多次 尝试了很多方法 但都无法让自己的形象在舞台上如我所愿 我认为这可能与java寻找资源的路径有关 但我不确定 因为我刚刚开始使用视觉库 在本例中为JavaFX 这是我的目录结构 MyProject assets img myI
  • 在Java中使用命令行编译多个包

    您好 我一直在使用 IDE 但现在我需要从命令行运行和编译 问题是我有多个软件包 我试图找到答案 但没有任何效果 所以我有 src Support java files Me java files Wrapers java files 你知
  • 将 Hibernate 对象序列化为 JSON 时抛出异常

    好吧 我正在使用 Hibernate 将一个小型数据库加载到一些表示表的类并与数据库交互 一切都很好 我真的可以看到所有结果 而且我没有任何空字段 所有这些都已被使用 这里我展示了 主 类 表 import javax persistenc
  • Google App Engine with Java - 运行 javac.exe 编译器时出错

    在 Windows XP 上 刚刚下载并解压谷歌应用程序引擎java sdk to C Program Files appengine java sdk 我已经安装了jdk C Program Files Java jdk1 6 0 20
  • 无法使用 json 架构验证器根据预定义的 yaml 文件验证查询参数

    我需要根据预定义的 yaml 文件架构验证查询参数的架构 因此我使用 json 架构验证器 验证如何失败 我正在执行以下步骤 填充参数和相应的架构 final List
  • 如何在远程 WebSphere 上进行 JNDI 查找期间解决 sun/io/MalformedInputException

    我使用 WebSphere 8 5 来托管我的应用程序 并在应用程序服务器上配置了一些 JDBC 资源 我还使用瘦客户端运行时库开发了一个客户端应用程序 当按以下方式执行 JNDI 查找时 env put Context INITIAL C
  • Java 正则表达式 - 字母数字,最多一个连字符,句点或下划线,七个字符长

    我是 Java 正则表达式工具的新手 尽管它们潜力巨大 但我很难完成这项任务 我想编写一个正则表达式来验证遵循以下语法的输入字符串 小写字母和数字的任意组合 仅一个下划线 一个破折号或一个句号 无其他特殊字符 最小长度为 5 我想出了以下解
  • Swagger for Micronaut 与 Maven

    我想从 Spring Boot 2 切换到 Micronaut 框架 而且我在 Swagger 设置上遇到了困难 在 Spring Boot 2 项目中 我有以下依赖项
  • 请参阅 Java EE eclipse 调试中的 POST 参数

    我在调试 Java EE 方面没有经验 我更像是一个 javascript 人 我需要查看哪些 HTTP POST 参数到达服务器端 我在表单将其操作指向的 jsp 文件中放置了一个断点 现在我在调试变量窗口中找不到 POST 内容 他们在
  • 定期更新 SWT 会导致 GUI 冻结

    Problem 当 GUI 字段定期更新时 SWT 会冻结 我想要一个基于 SWT 的 GUI 其中文本字段的值会定期递增 最初我从单独的线程访问 textField 导致抛出异常 线程 Thread 0 org eclipse swt S
  • 有多少种方法可以将位图转换为字符串,反之亦然?

    在我的应用程序中 我想以字符串的形式将位图图像发送到服务器 我想知道有多少种方法可以将位图转换为字符串 现在我使用 Base64 格式进行编码和解码 它需要更多的内存 是否有其他可能性以不同的方式做同样的事情 从而消耗更少的内存 现在我正在
  • 容器中的 JVM 计算处理器错误?

    最近我又做了一些研究 偶然发现了这一点 在向 OpenJDK 团队抱怨之前 我想看看是否有其他人观察到这一点 或者不同意我的结论 因此 众所周知 JVM 长期以来忽略了应用于 cgroup 的内存限制 众所周知 现在从 Java 8 更新某
  • 从 @JsonProperty 值获取枚举常量

    我有一个标有 JsonProperty 的枚举 用于使用 Jackson 进行 JSON 序列化 反序列化 并且希望获取给定字符串 JsonProperty 的枚举值 public enum TimeBucket JsonProperty
  • 发生错误。请参阅日志文件 - eclipse juno

    每当我启动 Eclipse Juno 时 都会出现错误 发生错误 请查看日志文件 C Program Files eclipse configuration 1362989254411 log 有的网站说卸载jdk重新安装 我这样做了 但没
  • 我想在java中使用XQuery进行Xml处理

    我想用XQuery用于从 java 中的 Xml 获取数据 但我没有得到需要为此添加哪个 Jar 我在谷歌上搜索了很多 但没有得到任何有用的例子 例如我得到以下链接 https docs oracle com database 121 AD
  • 在 Java 中将弯音发送到 MIDI 音序器

    我了解启动和运行 MIDI 音序器的基础知识 并且希望能够在播放过程中增加 减小序列的音高 但弯音是发送到合成器而不是音序器的消息 我尝试将音序器的接收器设置为合成器的发射器 当我发送弯音短消息时 音序器保持相同的音调 但随后合成器以新的弯
  • 了解 Spark 中的 DAG

    问题是我有以下 DAG 我认为当需要洗牌时 火花将工作划分为不同的阶段 考虑阶段 0 和阶段 1 有些操作不需要洗牌 那么为什么 Spark 将它们分成不同的阶段呢 我认为跨分区的实际数据移动应该发生在第 2 阶段 因为这里我们需要cogr
  • 春季 CORS。在允许的来源中添加模式

    查看CORS的弹簧指南 以下代码启用所有允许的来源 public class MyWebMVCConfigurer extends WebMvcConfigurerAdapter Override public void addCorsMa
  • Java:使用 Graph API 在线更新 Sharepoint 上的 docx 文件

    我在使用 Java 在线更新 Sharepoint 上的 docx 文件时遇到问题 首先 我检查了构建 PUT 请求的 URL 此处 并使用此请求 PUT drives drive id items item id content 我首先使
  • 为什么范围为“provided”的依赖项会隐藏 Maven 中的传递依赖项?

    我的 Maven 项目中有三个模块 这稍微简化了 model包含JPA注释的实体类 坚持实例化一个实体管理器并调用它的方法 应用创建类的实例model 设置一些值并将它们传递给坚持 model and 坚持显然取决于javax persis

随机推荐

  • Entity Framework Core 1.0.1 添加迁移

    自从 EF Core 迁移到Microsoft EntityFrameworkCore 代替EntityFramework 看来添加数据库迁移的推荐命令行又回到了add migration来自包管理器 ef core 添加迁移文档 http
  • 将词袋 scikits 分类器与任意数字字段合并

    你会如何合并 scikits learn分类器 http scikit learn org stable modules svm html一个对词袋进行操作的词袋 一个对任意数字字段进行操作的词袋 我知道这些在幕后基本上是相同的事情 但我很
  • C Graphics - 如何以特定角度移动物体

    我正在开发 C 图形程序 我将向最终用户询问投影角度 然后使用该角度从地球 圆形 表面发射火箭 但我不能这样做 这是我在谷歌上找到的 x1 x cos angle distance y1 y sin angle distance 其中 x1
  • 导入错误:无法从“时间”(未知位置)导入名称“时钟”

    我的 python 代码有一个错误 从时间导入时钟 导入错误 无法从 时间 未知位置 导入名称 时钟 这在 python 3 8 中不起作用 有人可以帮忙吗 time clock是自 Python 3 3 起已弃用并从 Python 3 8
  • 将 contentViewController 设置为 NSTabViewController 后,NSWindow 启动时大小错误

    我有一个 Xcode 项目NSWindowController whose contentViewController被设置为子类NSViewController 我最近删除了NSViewController从故事板子类并替换content
  • RequireJS:如何定义包含单个“类”的模块?

    我有许多 JavaScript 类 每个类都在自己的 JavaScript 文件中实现 对于开发 这些文件是单独加载的 对于生产 它们是串联的 但在这两种情况下 我都必须手动定义加载顺序 确保如果 B 使用 A 则 B 在 A 之后 我打算
  • Ninject 属性注入返回 null

    我有一个 WinForms 应用程序 代码如下 static void Main IKernel kernel new StandardKernel new MyModule TestInterface test kernel Get
  • 解析具有同名子节点的 XML 文件

    我有一个 XML 文件 下面是简要版本
  • 如何在双击时动态隐藏AppBar?

    我想在容器上的 DoubleTap 上动态隐藏和显示应用程序栏 并带有一些隐藏动画 但此链接中的解决方案不适用于我的项目 Flutter 如何在页面上动态显示或隐藏应用程序栏 https stackoverflow com question
  • 重构静态方法/静态字段以进行测试

    我有以下遗留代码 public class MyLegacyClass private static final String jndiName java comp env jdbc LegacyDataSource public stat
  • GWT 中会话超时的鼠标移动

    我正在研究 GWT 在我的应用程序中 我想在 2 分钟后未执行任何操作 包括鼠标事件 时添加会话超时 我编写了一个类 其中使用了 GWT 会话对象 public static boolean ValidSession HttpSession
  • 如何将用户凭据从控制台传递到 SharePoint Online?

    我正在尝试使用控制台可执行文件中的上下文令牌连接 SharePoint 2013 Online 网站 但是 它给了我错误The remote server returned an error 403 Forbidden 这是代码片段 str
  • 为什么使用 Xamarin 的 MobileServiceClient 单点触控实现的流量未显示在 Fidder/Charles 中

    这可能与以下问题相同 使用 MonoTouch HttpClient 和 Charles 代理时的 HTTP 流量监控问题 https stackoverflow com questions 23492126 http traffic mo
  • 如何让测试资源管理器适用于 Python VS Code?

    我最近安装了 VSCode 和它的 python 扩展 一切都很顺利 但测试资源管理器不会填充测试 我已经运行了测试发现 甚至可以运行测试 但资源管理器不会填充任何信息 在上面的截图中我们可以看到 空的测试资源管理器 我的 python v
  • 在node.js和socket.io中发送数组时的错误

    我使用socket io版本0 8 4 我将我的问题归结为以下几点 我的数据看起来像这样 data prop1 data prop1 push man data prop2 data prop2 hey man 我通过以下方式将数据从服务器
  • 为 Log4j2 配置 Grails 3

    我们想使用 Log4j2 作为与 grails 3 的日志绑定 从目前我能了解到的情况来看 我们有许多使用各种记录器的从属依赖项 因此我们需要使用 SLF4J API 然后 我们需要将每个 API 重新定向到 Log4j2 绑定 而不是让
  • Kinect 编程的要求

    我希望使用 Kinect ToF 摄像头进行编程 但我不确定这样做的硬件和软件要求 我读过很多涉及这个主题的文章 书籍 但似乎存在一些不一致之处 让我有些困惑 问题 我需要购买什么 Kinect 产品才能确保拥有在计算机上使用它进行软件开发
  • 使用带有 SSL 的 ODBC (5.1) 连接 MySQL

    我们有一个客户端应用程序 通过 ODBC 连接器 服务器是托管 专用网络服务器 连接到我们的在线 MySQL 数据库 5 1 44 community log 这效果非常好 但是我无法使用 SSL 让它工作 这是我到目前为止所做的 1 My
  • 如何创建纯解决方案级 NuGet 包

    我想创建并分发一个 NuGet 包 安装后仅将整个解决方案安装到根目录packages 文件夹 引用中的包 NuGet packages config file 我已经找到了一些有关该主题的 NuGet 包格式的信息 并且根据NuGet 常
  • 将 Gradle 模块包含到 Maven 项目中

    我们有一个使用 Maven 作为构建系统的大型项目 我们决定在未来的项目中将使用 Gradle 作为更方便的工具 但我们也希望将 Gradle 用于我们的遗留项目 我认为从 Maven 迁移到 Gradle 会非常痛苦 因为 POM 文件中