在使用Gradle构建的一个简单的Spring Java项目中,我使用io.Spring.dependency-management应用BOM,该BOM应该在全局指定依赖版本。
现在在BOM中,我已经覆盖了jackson-databind(2.9.5)的默认版本,从Spring Boot2.0.2.Release到2.9.10.4版本。
我在dependencyManagement部分指定了这个BOM,并希望jackson-databind将在2.9.10.4版本中得到解决。然而,事实并非如此。如果我在子项目中运行gradle依赖项,它仍然定义了Spring Boot2.0.2版本。Release:
runtimeClasspath - Runtime classpath of source set 'main'.
\--- com.fasterxml.jackson.core:jackson-databind -> 2.9.5
要启用DependencyManagement,是否还需要执行其他操作?
这是build.gradle文件
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath 'io.spring.gradle:dependency-management-plugin:1.0.10.RELEASE'
classpath 'org.springframework.boot:spring-boot-gradle-plugin:2.0.2.RELEASE'
// ...
}
}
allprojects {
repositories {
mavenLocal()
mavenCentral()
}
apply plugin: 'java'
apply plugin: 'io.spring.dependency-management'
dependencyManagement {
imports {
mavenBom "com.itshelf:project-bom:1.0.0"
}
}
}
subprojects {
apply plugin: 'org.springframework.boot'
// ... package Spring fat jar with embedded tomcat into docker image.
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itshelf</groupId>
<artifactId>project-bom</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.2.RELEASE</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.10.4</version>
</dependency>
...
</dependencies>
</dependencyManagement>
</project>
不支持本地maven bom文件-您已经覆盖了依赖项的显式库版本。一个更好的想法是创建一个带有明确版本的dips-bom.gradle-基本上是bom的gradle版本。
最近,我发现了以下问题: 当我为我的项目设置依赖项管理时,我有一个child-pom,它使用具有依赖项的插件,我想要与在我的依赖项管理中声明的依赖项同步。 在根pom中,我在依赖项管理中声明: 在子pom中,我有一个插件需要gwt-user: 但是,如果我移除gwt-maven-plugin中使用的依赖版本,编译就会失败。 是不是还有别的办法可以实现呢? PS:在maven和maven插件中有一个
当我试图导入依赖项时,我收到以下错误: 请帮帮我,我哪里错了? 事先谢谢你
使用公共存储库和 Apache Ant 共享其他项目的源代码 管理项目和工具之间的源代码依赖项往往非常困难,但并不一定总是如此。在这一期“ 让开发自动化”中,自动化专家 Parl Duvall 介绍了如何利用 Apache Ant 项目中的 Ivy 依赖项管理器来处理所有重要 Java 项目必须管理的无数依赖项。 实际上,所有软件开发项目都必须依靠来自其他项目的源代码。例如,许多项目可能依靠 lo
When you want to add, upgrade, or remove dependencies there are a couple of different commands you need to know. Each command will automatically update your package.json and yarn.lock files. Adding a
简介 在第三章我们在构建To Do应用的时候学习到了怎么声明对Servlet ApI的依赖,Gradle的领域特定语言使得声明依赖和仓库变得很简单,你只需要在dependencies脚本中声明你所依赖的库,然后你需要告诉构建系统要从哪个仓库里下载依赖。提供了这两个信息,Gradle就能自动解析、下载依赖到你的电脑上,如果有需要会存储在本地缓存中必备以后需要。 这一章我们将介绍Gradle对依赖管理