【问题标题】:How to merge gradle with maven如何将gradle与maven合并
【发布时间】:2020-12-12 15:23:05
【问题描述】:

我在我的 Eclipse 上导入了一个 gradle 项目。 (我使用的是 Java 11。)我有使用 jakarta.xml 库的代码。

import jakarta.xml.soap.*;

为了让它发挥作用,我为 jaxws-rt 添加了 Maven 依赖项:

<dependencies>
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-ri</artifactId>
        <version>3.0.0-M3</version>
        <type>pom</type>
    </dependency>
    <dependency>
  <groupId>jakarta.xml.ws</groupId>
  <artifactId>jakarta.xml.ws-api</artifactId>
  <version>2.3.3</version>
</dependency>
  </dependencies>

但是当我尝试生成构建时,它显示以下错误:

error: package jakarta.xml.soap does not exist
import jakarta.xml.soap.*;

如果我将项目刷新为 Maven 项目,则 gradle 功能将被禁用。如果我将它作为 gradle 项目运行,maven 依赖项将被禁用。您能否建议如何运行构建?

【问题讨论】:

  • 我在这里没有看到任何与 Gradle 相关的内容。您只是在使用 Maven,并且正在寻找添加包含 jakarta.xml.soap 的依赖项的方法。你确定 jakarta.xml.ws-api 包含包 jakarta.xml.soap 吗?
  • 是的。因为如上设置 Maven 依赖项时代码有效。但我需要将那段代码与基于 gradle 的项目集成。
  • “将...与基于 gradle 的项目集成”到底是什么意思?您的项目定义为 Gradle 项目还是 Maven?您只需要使用相应的语法将依赖项添加到您的项目中即可。我想您需要了解 Gradle(或/和 Maven)的基础知识,并对依赖管理的工作原理有一些基本了解
  • 我的项目被定义为 Gradle 项目。我创建了一个需要导入 jakarta.xml.soap 库的 java 类。为了使这个运行,我需要在 gradle 中添加 Maven 依赖项。但它不起作用。你能建议我一个替代方案吗?有人建议我不要添加 Maven 依赖项;而是在 gradle 中添加以下依赖项:``` 编译组:'com.sun.xml.ws',名称:'jaxws-ri',版本:'3.0.0-M3',ext:'pom' 编译组:' jakarta.xml.ws',名称:'jakarta.xml.ws-api',版本:'2.3.3' ```我试过了,但它不起作用。你能推荐更好的选择吗?

标签: java maven gradle


【解决方案1】:

不要在两个不同的构建平台上管理单独的依赖项。

您需要选择Maven 或Gradle。拥有两个构建系统会导致不必要的重复工作,并且仍然需要持续维护。沿着这条路走下去,您需要管理两个本质上相同的独立构建文件。您的 gradle 配置中的每个依赖项也需要添加到您的 maven 配置中。

与其尝试为 Maven 构建创建 pom.xml,不如为要提取的库确定 Gradle 等效项。

compile group: 'com.sun.xml.ws', name: 'jaxws-ri', version: '3.0.0-M3', ext: 'pom'
compile group: 'jakarta.xml.ws', name: 'jakarta.xml.ws-api', version: '2.3.3'

【讨论】:

  • 谢谢。我刷新了 gradle 项目,并在 build.gradle 中添加了这些依赖项。但是代码仍然显示相同的错误错误:package jakarta.xml.soap 不存在。有什么建议吗?
  • 你运行的是哪个版本的java?
  • 我使用的是 Java 11
  • compile group: 'jakarta.xml.bind', name: 'jakarta.xml.bind-api', version: '2.3.3' 试试这个库。 JAXB 已从 Java 11 中删除,这导致该包不存在错误。
  • 三个都试过了。还是行不通。无法导入库。
猜你喜欢
  • 2021-05-25
  • 2015-10-26
  • 2018-12-08
  • 1970-01-01
  • 2010-11-19
  • 2020-04-19
  • 2021-05-03
  • 1970-01-01
  • 2011-08-01
相关资源
最近更新 更多