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

带有Spring Boot Gradle插件的多模块项目

龙昊焱
2023-03-14

多模块项目具有具有以下依赖关系的模块:web-

我在web模块中添加了sping-boo-gradle-plugin:

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.3.RELEASE")
    }
 }
 apply plugin: 'spring-boot'

当SpringBootGradle插件下载旧的hibernate版本时,我在持久性模块中有重复的版本。

形象

我尝试覆盖web模块中的hibernate依赖项,它正在工作:

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.3.RELEASE")
    }
}

apply plugin: 'spring-boot'

dependencies {
    compile project(':core')
    //Other dependencies

    compile "org.hibernate:hibernate-core:${hibernateVersion}"
    compile "org.hibernate:hibernate-validator:${hibernateValidatorVersion}"
    compile "org.hibernate:hibernate-entitymanager:${hibernateVersion}"
}

形象

为什么插件下载旧的Hibernate版本?是否有任何可能排除旧的Hibernate版本从sping-boo-gradle-plugin?

共有1个答案

公西兴业
2023-03-14

首先,考虑将插件版本升级到1.5.9。RELEASE是当前的稳定版本。另外,考虑使用Spring数据jpa依赖关系,根据其留档,

sping-boo-starter-data-jpa POM提供了一种快速入门的方法。它提供以下关键依赖项:

  1. 冬眠 — 最流行的JPA实现之一
  2. Spring数据JPA — 使基于JPA的存储库易于实现
  3. SpringStorm — Spring框架的核心ORM支持

默认情况下,Spring Boot使用Hibernate 5.0。x、 但是,也可以使用4.3。x或5.2。如果你愿意的话。请参考Hibernate 4和Hibernate 5.2示例了解如何执行此操作。

你可以在这里找到链接。它还向您展示了如何覆盖它,以便在maven项目中使用与您所做的没有太大区别的更当前的版本。

 类似资料:
  • 问题内容: 我们有一个与我们一起工作的人,他使用maven-assembly- plugin打包所有依赖项。从那以后他就离开了公司,我正在努力弄清楚他是如何做到的。我现在正在学习有关maven-assembly-plugin的信息。 我们的应用程序分为与相关模块项目一起的Maven POM项目。在下面的示例中,我包含了运行时模块项目。我试图在我的应用程序中创建一个名为运行时的模块项目,但是一旦进行

  • null 我们是否必须构建没有依赖项的jar,war,并让它们在生产机器上第一次引导时下载依赖项?还是单独的依赖包,这样在增量部署中,我们就不需要重新上传整个东西了吗? 问候, 更新1:

  • 我有以下Maven项目结构: i、 e.Project1、Project2和Project3在目录结构上是对等的,它们都是Spring Boot应用程序(JAR)。我想将Project2和Project3视为Project1的子项,而不改变目录结构。当我在父项目上执行相同的maven命令时,我需要在子项目上过渡地执行所有maven命令。而且最重要的是,我应该能够将它们打包到一个JAR文件中。我在谷

  • MyApp和MyAppCore有自己的AppComponent,MyApp提供ViewModel工厂,MyAppCore提供数据库和网络访问工厂(下面的示例)。 我不确定如何链接AppComponent(或应用程序),以便在MyApp中提供数据库和网络访问。以下是我目前掌握的信息: MyAppCore模块 MyAppCore还具有名为的Room数据库实现和接口(我认为我不需要在这个问题中添加此代码

  • 我设计了一个maven多模块项目,就像下面这个帖子的第一个答案:Multi-module maven with Spring Boot 现在我想要一个通用的maven模块,它可以包含一些供多个微服务使用的模型。如果我将这个公共项目作为第一级父pom的子项目(这样所有由引导注入的依赖项(如jpa、jackson等)都可用于公共项目),那么STS/Spring将它检测为引导应用程序,并抱怨maven

  • 我在项目中有两个模块(和)运行集成测试。我希望在测试之前,我的应用程序将使用liquibase启动和滚动迁移,但由于我通过集成测试模块运行应用程序,liquibase正在寻找一个关于该模块的主文件,该文件导致了错误。因为主文件位于miom应用程序()的模块中