我正在学习Liquibase和Spring Boot,所以我用Spring Initializr创建了一个简单的项目。
在pom.xml文件中,我添加了:
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.4.1</version>
<configuration>
<propertyFile>src/main/resources/application.properties</propertyFile>
</configuration>
</plugin>
我已经将application.properties指定为属性文件,因此应用程序的所有配置都可以在一个文件中进行。
[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:3.4.1:changelogSync (default-cli) on project simpleTest: The changeLogFile must be specified
environment = JUnit
spring.datasource.url = jdbc:h2:file:./target/test
spring.datasource.driver-class-name = org.h2.Driver
spring.datasource.username = sa
spring.datasource.password = sa
spring.liquibase.change-log = classpath:/db/changelog/db.changelog-master.yaml
spring.h2.console.enabled = true
spring.h2.console.path = /h2-console
# Keys needed for liquibase maven plugin
url = jdbc:h2:file:./target/test
username = sa
password = sa
编辑从Amith Kumar收到的答案:
environment=JUnit
spring.datasource.url=jdbc:h2:file:./target/glossary-test
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=sa
spring.liquibase.change-log=classpath:/db/changelog/db.changelog-master.yaml
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
url=${spring.datasource.url}
changeLogFile=${spring.liquibase.change-log}
username=${spring.datasource.username}
password=${spring.datasource.password}
编辑后出错:
[ERROR] Failed to execute goal org.liquibase:liquibase-maven-plugin:3.4.1:dropAll (default-cli) on project test: Error setting up or running Liquibase: liquibase.exception.DatabaseException: java.lang.RuntimeException: Cannot find database driver: Driver class was not specified and could not be determined from the url (${spring.datasource.url}) -> [Help 1]
application.properties
设置对于启动和运行应用程序非常快,但就灵活性而言不是最佳解决方案
我的建议是使用@configuration
配置数据源,示例如下
然后按照如下方式配置liquibase传递上面定义的数据源
@Configuration
public class LiquibaseConfigurer {
@Autowired
@Qualifier("primaryDataSource")
private DataSource oltpDataSource;
@Bean
@DependsOn
public SpringLiquibase liquibase() {
SpringLiquibase liquibase = new SpringLiquibase();
liquibase.setChangeLog("classpath:liquibase/liquibase-changelog.xml");
liquibase.setDataSource(oltpDataSource);
return liquibase;
}
}
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
liquibase --driver=org.h2.Driver \
--classpath=/path/to/h2/driver.jar \
--changeLogFile=/db/changelog/db.changelog-master.yaml \
--url="jdbc:h2:file:./target/glossary-test" \
--username=sa \
--password=sa \
--logLevel=debug \
migrate
url=${spring.datasource.url}
url=jdbc:h2:file:./target/test
我在学习Spring Boot时遇到了一些编码问题;我想添加一个像Spring3.x那样的CharacterEncodingFilter。就像这样:
我知道在DispatcherServlet之外使用请求范围bean需要一些配置,并且已经阅读了http://docs.spring.io/spring/docs/4.0.x/spring-framework-reference/html/beans.html#beans-factory-scopes-oth,但是还没有成功: 对于Servlet3.0+,这可以通过WebApplicationIni
我试图用1.5.15.release版本在Spring Boot项目中配置LettuceConnectionFactory。
我想避免对象达到的最大对象图大小:840-错误。按照这个 此元素具有以下属性:maxDepth–控制在引擎大小采取任何操作之前可以访问多少链接对象。此属性是必需的。MaxDepthexceedBehavior–指定在调整对象图大小时超过最大深度时发生的情况: 这怎么能在ehcache3和springboot中设定。使用编程配置。我没有在ehcache 3.4的springboot中使用xml
问题内容: 我正在尝试使用Maven 3 在Spring Boot应用程序中设置活动配置文件。在我的pom.xml中,将默认的活动配置文件和属性spring.profiles.active设置 为development: 但是每次我运行应用程序时,都会在日志中收到以下消息: 并且将SpringBoot配置文件设置为默认值(读取application.properties而不是application
问题内容: Jenkins(Hudson)具有StarTeam插件。如何正确配置? 我已经安装了此插件,但是在构建项目时出现此错误: java.lang.NoClassDefFoundError:com / starbase / starteam / Folder 机器是Windows Server2008。我在文件夹中安装了StarTeam SDK 。 问题答案: 在插件文档页面上有一个提示: