maven - 如何从gradle build生成pom.xml时使用通配符解决依赖性

标签 maven gradle

我在我的应用程序中使用Gradle(v2.0)。对于其中一个依赖项,我在版本中使用通配符(请参见下面的代码)

build.gradle

ext {
  my_utils_version = "1.0+"
}

dependencies {
  compile "com.demo.myapp:my-utils:${my_utils_version}"
}

我正在使用以下代码从gradle构建中生成POM
task writePom << {
  conf2ScopeMappings.mappings.remove(configurations.testCompile)
  conf2ScopeMappings.mappings.remove(configurations.testRuntime)
  pom {
  }.writeTo("$buildDir/libs/pom.xml")
}
assemble.dependsOn writePom

因此,每当Gradle生成POM时,它都会使用1.0+作为依赖项compile "com.demo.myapp:my-utils:${my_utils_version}"的版本。在生成的POM.xml中,我看到了
<dependency>
  <groupId>com.demo.myapp</groupId>
  <artifactId>my-utils</artifactId>
  <version>1.0+</version>
  <scope>compile</scope>
</dependency>

Maven无法解析1.0+版本。 Maven需要[1.0)作为自己的通配符版本控制。

有人可以帮我解决这个问题吗?我如何告诉Gradle使用[1.0)而不是1.0+

最佳答案

Gradle确实支持Maven的版本范围符号,因此您可以在构建脚本中使用[1.0)(尽管我不确定Maven / Gradle是否允许忽略上限)。

关于maven - 如何从gradle build生成pom.xml时使用通配符解决依赖性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25149438/

相关文章:

java - 未找到 Gradle DSL 方法 : 'google()'

android - Gradle 包含一个依赖的依赖

maven - 无法加载 mojo - maven 安装

java - 使用maven的spring hibernate集成中的org.springframework.beans.factory.BeanCreationException

python - Bamboo 日志输出顺序问题

gradle - 如何仅在本地项目中从gradle运行javadocs?

java - 无法在 Spring 中配置用于集成测试的模块 - 没有可用的任务

java - 为什么 IntelliJ IDEA 2021.1 需要 Android SDK 用于 gradle 项目?

java - Maven下找不到资源文件

android - 如何在 Eclipse Indigo 中禁用 m2e 构建?