我在gradle项目中遇到一个依赖问题,我不知道如何解决。
我有一个根项目 "project-root "和两个子项目 "project-sub-a "和 "project-sub-b"。"project-sub-a "与 "project-sub-b "有一个依赖关系。
其结构是
project-root
|-settings.gradle
|-build.gradle
project-sub-a
|-build.gradle
project-sub-b
project-root:settings.gradle:
include 'project-sub-a', 'project-sub-b'
project-root:build.gradle。
plugins {
id "io.spring.dependency-management" version "1.0.8.RELEASE"
}
subprojects {
apply plugin: 'java'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'java-library'
repositories {
mavenCentral()
}
dependencies {
// https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-gradle-plugin
compile group: 'org.springframework.boot', name: 'spring-boot-gradle-plugin', version: '2.1.7.RELEASE', ext: 'pom'
implementation 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.10.3'
}
dependencyManagement {
imports {
mavenBom("org.springframework.boot:spring-boot-dependencies:2.2.6.RELEASE")
}
}
}
project-sub-a:build.gradle。
plugins {
id 'org.springframework.boot' version '2.2.6.RELEASE'
}
apply plugin: 'org.springframework.boot'
dependencies {
implementation project(':connection-service-common')
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
implementation 'org.springframework.boot:spring-boot-starter-web'
}
在 ./gradlew build
我得到以下错误。
> Task :project-sub-b:compileJava
.../Pojo.java: error: package com.fasterxml.jackson.annotation does not exist
import com.fasterxml.jackson.annotation.JsonProperty;
and more ...
有谁知道如何解决这个问题?谢谢。
看起来你的缺少。
'com.fasterxml.jackson.core:jackson-annotations:2.10.3'
which(和其他一些jackson jars)是一个转折性的依赖关系。
'org.springframework.boot:spring-boot-starter-web'
这就是为什么A项目不抱怨的原因。正因为如此,没有必要把杰克逊在。subprojects
. 子项目a正在得到它反正。