我正在模块化一个用Java开发的整体,它利用Micronaut框架和Gradle作为构建工具。如标题所示,它利用Liquibase进行数据库迁移。
这是一个标准的单级java项目,带有war插件来生成war文件。它在src/main/java/resources
文件夹(标准micronaut-liquibase素材)中有所有迁移
我正在将各种独立的领域分解成单独的分级项目。我制作了一个startup
项目,该项目应该具有所有的项目初始化逻辑,如Micronauts、context init和Liquibase DB迁移。
project/
|
+---gradle-project-A/
| |
| +---build.gradle
| |
| +---src/main/java/
| |
| +---src/test/
| |
| +---java/TestIntegration.java
| |
| +---resources/application.yml (for testing)
|
+---startup/
| |
| +---build.gradle
| |
| +---src/main/java/Application.java
| |
| +---src/main/java/resources/
| |
| +---db/changelog.sql files (These files are referred by the changelog.yml)
| +---liqiubase-changelog.yml (Liquibase looks for this file in classpath)
| +---application.yml (Micronaut config)
|
+---settings.gradle
|
|
startup/build.gradle
的精简版本
plugins {
'io.micronaut.application'
'war'
}
dependencies {
implementation project(':gradle-project-A')
}
startup
的一部分,并且在gradle-project-a
我要说您需要拆分project-a
、project-b
等的迁移脚本。
因此,在project-a/src/main/java/resources/
中,您需要有project-a
的迁移脚本,project-b
等的迁移脚本。然后,在startup
项目中,您可以有changelog.xml
如下所示:
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
<include file="pathToChangeLogFromProjectA.xml" relativeToChangelogFile="true"/>
<include file="pathToChangeLogFromProjectA.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>
这样,启动将为所有项目选择迁移脚本,并且当您运行project-a
的测试时,将只运行该项目的脚本。
Composer集成 Composer是PHP用来管理依赖关系的工具。你可以在自己的项目中声明所依赖的外部工具库,Composer会帮你安装这些依赖的库文件,我们首先来为框架添加Composer支持,让集成组件变得更简单,鉴于有些朋友比较排斥Composer,觉得很麻烦,我们这里还是啰嗦一下怎幺安装,熟悉Composer的朋友可以跳过这部分,在后面的教程中,相信大家都会认同PHP是世界上最好的语言
我继承了一个具有以下设置的项目。Gradle中大约有5个单独的模块,分别位于5个不同的git存储库中。这些模块的版本控制是由ScmVersion插件驱动的。其中一个模块是一个将这些模块集成在一起的应用程序。 模块之间的依赖关系在build.gradle dependency部分中由groupId、artificatId和version指定。 我对Gradle很陌生。到目前为止,我已经创建了一个简单
在一个Gradle多模块项目中,在它自己的模块中有bootstrapping,我无法使用MockMvc,因为它需要引用bootstrapping-module。我不确定我是否配置错误了什么。基本结构为: 模块:包含一些REST服务的模块,需要依赖于starter的testImplementation-Dependency starter:bootstrapping-module,用于应用sprin
我正在我的querying-api模块中编写测试用例来测试我的API,并且我希望在测试开始用预定义的测试数据加载数据库之前运行我的数据库加载器服务,同时测试加载器是否仍然工作。但是,在运行时出现以下错误: 测试引用公共域定义库没有问题... 父POM文件: 数据库加载程序POM文件:
使用validation验证器 仓库地址: validation 安装 composer require illuminate/validation 我们先单例validation验证器 namespace App\Vendor\Validators; use Illuminate\Validation\Factory; class Validator extends Factory {
我想将一个多模块Spring-Boot1.5项目迁移到Spring-Boot2.1。这是一个gradle项目(4.9),但不知何故我没有得到解决。 例