Java Gradle在子项目中不提供依赖项
我在gradle项目中遇到了一个依赖性问题,我不知道如何解决它 我有一个根项目“projectroot”和两个子项目“project-sub-a”和“project-sub-b”。 “project-sub-a”与“project-sub-b”有依赖关系 结构是:Java Gradle在子项目中不提供依赖项,java,gradle,dependencies,multi-module,Java,Gradle,Dependencies,Multi Module,我在gradle项目中遇到了一个依赖性问题,我不知道如何解决它 我有一个根项目“projectroot”和两个子项目“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 include 'project-sub-a', 'p
project-root
|-settings.gradle
|-build.gradle
project-sub-a
|-build.gradle
project-sub-b
include 'project-sub-a', 'project-sub-b'
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")
}
}
}
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'
}
项目根目录:设置。渐变:
project-root
|-settings.gradle
|-build.gradle
project-sub-a
|-build.gradle
project-sub-b
include 'project-sub-a', 'project-sub-b'
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")
}
}
}
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'
}
项目根目录:build.gradle:
project-root
|-settings.gradle
|-build.gradle
project-sub-a
|-build.gradle
project-sub-b
include 'project-sub-a', 'project-sub-b'
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")
}
}
}
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'
}
project-sub-a:build.gradle:
project-root
|-settings.gradle
|-build.gradle
project-sub-a
|-build.gradle
project-sub-b
include 'project-sub-a', 'project-sub-b'
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")
}
}
}
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'
哪个(和其他几个jackson罐子)是
'org.springframework.boot:spring-boot-starter-web'
这就是项目a不抱怨的原因。因此,无需将jackson放入
子项目中。子项目a无论如何都会得到它。看起来缺少您的:
'com.fasterxml.jackson.core:jackson-annotations:2.10.3'
哪个(和其他几个jackson罐子)是
'org.springframework.boot:spring-boot-starter-web'
这就是项目a不抱怨的原因。因此,无需将jackson放入子项目中。子项目a已经收到了。谢谢。现在它工作了!我从project root:build.gradle中删除了'implementation group:'com.fasterxml.jackson.core',名称:'jackson core',版本:'2.10.3',并将'implementation'org.springframework.boot:spring boot starter web''从project-sub-a:build.gradle移动到project root:build.gradle。但我仍然不明白为什么它以前不起作用。也许“com.fasterxml.jackson.core:jackson注释:2.10.3”是错误的。谢谢。现在它工作了!我从project root:build.gradle中删除了'implementation group:'com.fasterxml.jackson.core',名称:'jackson core',版本:'2.10.3',并将'implementation'org.springframework.boot:spring boot starter web''从project-sub-a:build.gradle移动到project root:build.gradle。但我仍然不明白为什么它以前不起作用。也许“com.fasterxml.jackson.core:jackson注释:2.10.3”是错误的。