0

这个问题在 Stack Overflow 中得到了广泛的评论,但似乎没有一个解决方案适合我的项目。

我有两个独立的项目(MainApplicationLibraryApplication),然后我想导出 LibraryApplication ,并将其导入主项目(这是一种简化的方法来保持简单)。

我将 library.jar 导出到主项目中的 libs/ 文件夹,然后将编译文件指令添加到 build.gradle。

jar 确实已添加到类路径中,我可以从 MainApplication 中看到这些类。所以我添加了@ComponentScan, @EnableJpaRepositories,@EntityScan等,但这些注释似乎都不起作用,因为在我运行MainApplication项目时只创建了 MAIN_ENTITY 。

图书馆应用项目结构

主要应用项目结构

仅创建 MAIN_ENTITY

我尝试了许多在其他相关问题中评论的解决方案,但没有一个对我有用:

  • 我搬到MainApplication.java了更高的包装级别,但没有结果。
  • 我创建了一个AppConfig.javainLibraryApplication项目,并在没有结果的情况下配置了 、和@ComponentScan("com.app")注入了该类。@EntityScan("com.app")@EnableJpaRepositories("com.app")MainApplication
  • .*从我的注释中删除了,所以@ComponentScan("com.app.*")@ComponentScan("com.app")没有结果。

我怎样才能达到预期的效果?

我创建了两个 github 存储库,因此您可以检查/下载代码。

提前致谢!

更新

共享每个项目的 build.gradle 配置:

图书馆用

buildscript {
    ext {
        springBootVersion = '2.0.4.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.app'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

bootRepackage  {
    classifier = 'exec'
}

dependencies {
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-web')
    runtime('com.h2database:h2')
    compileOnly('org.projectlombok:lombok')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

对于主要

buildscript {
    ext {
        springBootVersion = '2.0.4.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.app'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}


dependencies {
    compile files('libs/library.jar')
    compile('org.springframework.boot:spring-boot-starter-data-jpa')
    compile('org.springframework.boot:spring-boot-starter-web')
    runtime('com.h2database:h2')
    compileOnly('org.projectlombok:lombok')
    testCompile('org.springframework.boot:spring-boot-starter-test')
}
4

0 回答 0