当前位置: 首页 > 知识库问答 >
问题:

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

家西岭
2023-03-14

在android项目中,我希望使用REST服务器(JPA)
项目结构的共享模型库:

├── 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

我正在使用gradle子项目来管理在编译时工作良好的依赖关系。但是当我运行应用程序时,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

rootbuild.gradle

buildscript {  ...  }

allprojects {
    repositories {
        mavenCentral()
    }
}

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

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

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

    dependencies {
        compile project(":model")
    }
}

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

共有1个答案

蓟和煦
2023-03-14

默认情况下找不到customer实体,因为它不在application类的子包中。尝试使用@entityscan注释(请参见http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-deparate-entity-definitions-from-spring-configuration)。

 类似资料:
  • 是否有办法将GradleJava项目导入IntelliJ 2017.2. x并应用一些设置,例如 代码样式 vcs设置 从Gradle在项目层面? 我注意到例如Grails框架使用了idea-gradle-plugin,但这只能与Gradle任务结合使用。 我不想使用Gradle任务生成IntelliJ项目文件。每当我导入文件。 这可能吗?

  • 我有一个多模块java项目,我想在其中创建jar(bin、source、javadoc),但我很难从子项目配置中的子项目中获取变量。 这是我在根项目中的build.gradle文件: 这就是建筑。gradle文件子项目之一: 当我想运行构建脚本时,我得到了以下异常: 无法获取类型为org的对象的未知属性“mainClassName”。格雷德尔。应用程序编程接口。JAVA档案内部的默认舱单。 在子流

  • 我有一个在Swagger上具有编译依赖关系的项目,它带来了jackson databind v2.4.5,还有一个在库上具有testCompile依赖关系的项目,该库使用了AWS SDK,它带来了jackson databind v2.6.6。 从gradle运行测试时,一切正常,正确更新的jackson依赖项v2.6.6位于类路径上: intellij依存关系包含两个版本: 然而,当从Intel

  • 我正试图将一个libgdx项目(桌面、ios和android)导入到我mac上的eclipse中,我在本地的git存储库中。 当我试图将我的项目导入到eclipse(导入>>Gradle>>Gradle项目,然后为整个libgdx项目添加我的根文件夹)时,我试图“构建模型”,但随后我得到了一个错误:

  • (我意识到在与python相对导入相关的StackOverflow上有很多问题;我也怀疑我做得完全错误;但不管怎样,还是这样吧……) 我有一个python项目(mysubmod)组织如下: 重要的是: /models/hello.py导入lib.foobar 然后我有了第二个项目(myproj),我将mysubmod作为git子模块导入其中;myproj现在组织如下- 哪里: scripts/te

  • 我知道这已经被要求了10次,但我已经尝试了所有在stackoverflow上提出的解决方案,但没有一个对我有用。我尝试了这些,但没有结果: Android Studio在Gradle下载创建新项目时陷入困境 Android Studio安装Gradle时出错 使用Gradle Android Studio 0.2.1构建问题