首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将一个spring项目添加到另一个项目

将一个spring项目添加到另一个项目
EN

Stack Overflow用户
提问于 2020-04-19 19:00:30
回答 1查看 94关注 0票数 0

我创建了一个Spring项目(假设Project-A使用gradle)作为lib,并在此项目中配置了一些bean以包含到另一个项目中(假设Project-b也使用gradle)。使用help maven本地存储库(.m2文件夹),我将一个项目添加到另一个项目中,在本地,这很好用,但是

项目-B我想对接帮助palantir插件的gradle。

因此,在docker中,使用gradle的springframework.boot插件,我将所有依赖项都包含在docker的jar中。

但问题是,在Project-A中配置的bean没有包含在Project-B的jar文件中。

我也在项目-A中添加了springframework.boot插件,并将这个jar发布到本地jar存储库(这是来自项目-A的增量jar- .m2 ),但是现在,依赖项没有添加到项目B中。

我该如何解决这个问题呢?

我的配置

项目-A (picstories-library)

代码语言:javascript
复制
buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
    }
}

plugins {
    id 'org.springframework.boot' version '2.2.6.RELEASE'
}

apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'maven-publish'

group 'org.picstories.lib'
version '2.0-SNAPSHOT'
sourceCompatibility = 11

repositories {
    mavenLocal()
    mavenCentral()
}

task sourceJar(type: Jar) {
    from sourceSets.main.allJava
}

publishing {
    repositories {
        maven {
            url '****'
            credentials {
                username '****'
                password '****'
            }
        }
    }

    publications {
        maven(MavenPublication) {
            groupId 'org.picstories.lib'
            artifactId 'picstories-library'
            version '2.0-SNAPSHOT'

            artifact sourceJar {
                classifier "sources"
            }
        }
    }
}


dependencies {
    implementation group: 'org.modelmapper', name: 'modelmapper', version: '2.3.2'
    implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.10.3'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-elasticsearch', version: '2.2.2.RELEASE'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-mongodb-reactive', version: '2.2.5.RELEASE'
    implementation group: 'com.google.guava', name: 'guava', version: '28.0-jre'
    implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.10.3'

    compileOnly 'org.projectlombok:lombok:1.18.12'
    annotationProcessor 'org.projectlombok:lombok:1.18.12'

    testCompileOnly 'org.projectlombok:lombok:1.18.12'
    testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'

    testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.2.5.RELEASE'
    testImplementation group: 'org.mockito', name: 'mockito-core', version: '3.2.4'
    testImplementation group: 'org.hamcrest', name: 'hamcrest', version: '2.2'
}
jar {
    exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA', 'META-INF/*.MF'
    manifest {
        attributes 'Main-Class': 'org.picstories.Application',
                'Class-Path': configurations.runtime.files.collect { "lib/$it.name" }.join(' ')
    }
}

Project-B (解析器-管理器-服务)

代码语言:javascript
复制
buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
    }
}

plugins {
    id 'org.springframework.boot' version '2.2.6.RELEASE'
    id 'com.palantir.docker' version "0.22.1"
    id 'com.palantir.docker-run' version '0.22.1'
    id 'com.palantir.docker-compose'version '0.22.1'
}

docker {
    name "${project.name}:${project.version}"
    files 'build/libs/parsers-manager-service-0.0.1-SNAPSHOT.jar'
    dockerfile file('Dockerfile')
    pull true
    noCache true
}


dockerRun {
    name "${project.name}"
    image 'parsers-manager-service:unspecified'
    ports '7003:7003'
    clean true
}

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'maven'
apply plugin: 'java-library-distribution'

group 'org.picstrories.parsers.manager'
version '0.0.1-SNAPSHOT'

sourceCompatibility = 1.11

repositories {
    mavenCentral()
    mavenLocal()
}

dependencies {
    implementation group: 'org.picstories.lib', name: 'picstories-library', version: '2.0-SNAPSHOT'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-webflux', version: '2.2.5.RELEASE'
    implementation group: 'io.projectreactor.kafka', name: 'reactor-kafka', version: '1.2.2.RELEASE'
    implementation group: 'org.springframework.kafka', name: 'spring-kafka', version: '2.3.4.RELEASE'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-elasticsearch', version: '2.2.2.RELEASE'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-mongodb-reactive', version: '2.2.5.RELEASE'
    implementation group: 'com.google.guava', name: 'guava', version: '28.0-jre'
    implementation group: 'net.bytebuddy', name: 'byte-buddy', version: '1.10.9'
    implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30'
    implementation group: 'ch.qos.logback', name: 'logback-core', version: '1.2.3'
    implementation group: 'org.yaml', name: 'snakeyaml', version: '1.25'
    implementation group: 'org.modelmapper', name: 'modelmapper', version: '2.3.2'
    implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.10.3'
    implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.10.3'


    testImplementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
    testImplementation group: 'junit', name: 'junit', version: '4.12'
    testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.2.6.RELEASE'
    testImplementation group: 'org.springframework', name: 'spring-test', version: '5.2.1.RELEASE'
    testImplementation group: 'org.mockito', name: 'mockito-core', version: '3.2.4'
    testImplementation group: 'org.hamcrest', name: 'hamcrest', version: '2.2'
    testImplementation group: 'io.projectreactor', name: 'reactor-test', version: '3.3.0.RELEASE'
}

distZip.shouldRunAfter(build)


jar {
    exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA', 'META-INF/*.MF'
    manifest {
        attributes 'Main-Class': 'org.picstories.parsers.manager.Application',
                'Class-Path': configurations.runtime.files.collect { "lib/$it.name" }.join(' ')
    }
}

test {
    useJUnitPlatform()
}

库中的依赖项不导入

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-19 20:32:21

我解决了这个问题,只需在库中添加spring.factories文件,并通过删除org.springframework.boot插件添加路径到配置类

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61303223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档