从Spring中的gradle子项目导入JPA模型

Bor*_*ian 2 java spring jpa gradle spring-boot

在android项目中,我想使用具有REST Server(JPA)
Project结构的共享模型库:

??? android
?   ? ...
?
??? model
?   ??? build.gradle
?   ??? src
?       ??? com
?           ??? model                            // error at runtime
?               ??? Customer.java
??? server
?   ??? build.gradle
?   ??? src
?       ??? com
?           ??? server
?                ??? Application.java
?                ??? CustomerController.java
?                ??? CustomerRepository.java
?                ??? model                       // works fine
?                    ??? Customer.java
??? build.gradle
Run Code Online (Sandbox Code Playgroud)

我正在使用gradle子项目来管理在编译时工作正常的依赖项.但是当我运行Application时,Spring无法解析JPA注释.当我将模型类移动到服务器项目时,它工作正常.

Exception in thread "main" org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [...] Instantiation of bean failed;
[...] 
Not an managed type: class com.model.Customer
Run Code Online (Sandbox Code Playgroud)

根 build.gradle

buildscript {  ...  }

allprojects {
    repositories {
        mavenCentral()
    }
}

project(":android") {  ...  }

project(":model") {
    apply plugin: "java"
}

project(":server") {
    apply plugin: "java"

    dependencies {
        compile project(":model")
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有解决方案来包含gradle子项目中的JPA模型?
原因主要是为了防止android和服务器应用程序之间的重复代码

Phi*_*ebb 5

Customer默认情况下,您找不到实体,因为它不在您Application班级的子版本中.尝试使用@EntityScan注释(请参阅http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-separate-entity-definitions-from-spring-configuration).