即使在变更集中没有进行任何更改,Maven也会触发liquibase验证失败.
我的数据库是oracle.
情况:
在DB changelog表中记录了变更集<changeSet id="1" author="me" dbms="oracle">;
然后我错误地添加了另一个变更集 <changeSet id="1" author="me" dbms="hsqldb">
重新运行的liquibase脚本Maven解除了校验和验证错误.
然后我将hsqldb changeSet更改为 <changeSet id="2" author="me" dbms="hsqldb">
Maven仍然触发校验和验证错误.
然后我手动将DB中的第一个changeSet校验和更改为当前checkSum并成功运行脚本.
一切看起来都不错,但是当我重新部署整个应用程序并运行liquibase脚本时,第一个changeSet的校验和仍然像之前的6步一样.
我用我的应用程序打包了:mvn -Pprod包
然后我跑了
java -jar myapp-0.0.1-SNAPSHOT.war
Run Code Online (Sandbox Code Playgroud)
它工作正常.但如果我跑:
java -jar myapp-0.0.1-SNAPSHOT.war --spring.profiles.active=prod
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
[ERROR] org.springframework.boot.context.embedded.tomcat.ServletContextInitializerLifecycleListener - Error starting Tomcat context: org.springframework.beans.factory.BeanCreationException
[WARN] org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:124) [spring-boot-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:474) ~[spring-context-4.1.3.RELEASE.jar!/:4.1.3.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:109) [spring-boot-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:691) [spring-boot-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:321) [spring-boot-1.2.0.RELEASE.jar!/:1.2.0.RELEASE]
at com.myapp.Application.main(Application.java:57) [classes!/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_25]
at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0_25]
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:53) …Run Code Online (Sandbox Code Playgroud)