2016-11-21 1 views
1

Das Projekt wird wie erwartet mit spring-boot:run ausgeführt. Die ausführbare JAR kann jedoch nicht ausgeführt werden, da sie db/changelog.xml nicht finden kann.Ausführbare JAR kann Liquibase nicht finden db/changelog.xml

  • Lauf mvn package von Projektstamm
  • gehen zu target Ordner
  • Lauf java -jar executable-jar-with-liquibase-1.0.0-SNAPSHOT.jar

Das Protokoll wird nun ein zeigen:

Die folgenden Schritte können das Problem zu reproduzieren verwendet werden Fehler, weil die Tabelle domain nicht erstellt wurde.

Beachten Sie, dass die application.yml gefunden wird, da wenn liquibase.enabled auf false festgelegt ist, wird es sich weigern, vollständig auszuführen (wie es sollte).

application.yml

server: 
    context-path: /api 
spring: 
    datasource: 
    platform: h2 
    url: jdbc:h2:mem:testdb;MODE=PostgreSQL;DB_CLOSE_ON_EXIT=FALSE 
    jackson: 
    date-format: yyyy-MM-dd 
    jpa: 
    database-platform: org.hibernate.dialect.PostgreSQLDialect 
    hibernate: 
     ddl-auto: none 
liquibase: 
    enabled: false 
    change-log: classpath:db/changelog.xml 

Die erzeugte JAR hat folgenden Inhalt:

. 
|____BOOT-INF 
| |____classes 
| | |____application.yml 
| | |____db 
| | | |____changelog.xml 
| | | |____changelogs 
| | | | |____changelog_000.xml 
| | |____nl 
| | | |_____42 
| | | | |____app 
| | | | | |____ApplicationConfig.class 
| | | | | |____domain 
| | | | | | |____Domain.class 
| | | | | | |____DomainController.class 
| | | | | | |____DomainRepository.class 
| | | | | | |____DomainService.class 
| | | | | |____shared 
| | | | | | |____AbstractEntity.class 
| | | | | |____WebAppConfig.class 
| | | | | |____WebApplication.class 
| |____lib 
| | |____accessors-smart-1.1.jar 
| | |____antlr-2.7.7.jar 
| | |____asm-5.0.3.jar 
| | |____aspectjweaver-1.8.9.jar 
| | |____assertj-core-2.5.0.jar 
| | |____classmate-1.3.1.jar 
| | |____dom4j-1.6.1.jar 
| | |____h2-1.4.192.jar 
| | |____hamcrest-core-1.3.jar 
| | |____hamcrest-library-1.3.jar 
| | |____hibernate-commons-annotations-5.0.1.Final.jar 
| | |____hibernate-core-5.0.11.Final.jar 
| | |____hibernate-entitymanager-5.0.11.Final.jar 
| | |____hibernate-jpa-2.1-api-1.0.0.Final.jar 
| | |____hibernate-validator-5.2.4.Final.jar 
| | |____jackson-annotations-2.8.3.jar 
| | |____jackson-core-2.8.3.jar 
| | |____jackson-databind-2.8.3.jar 
| | |____jackson-datatype-jsr310-2.8.3.jar 
| | |____jandex-2.0.0.Final.jar 
| | |____javassist-3.20.0-GA.jar 
| | |____javax.transaction-api-1.2.jar 
| | |____jboss-logging-3.3.0.Final.jar 
| | |____jcl-over-slf4j-1.7.21.jar 
| | |____json-20140107.jar 
| | |____json-path-2.2.0.jar 
| | |____json-smart-2.2.1.jar 
| | |____jsonassert-1.3.0.jar 
| | |____jul-to-slf4j-1.7.21.jar 
| | |____liquibase-core-3.5.1.jar 
| | |____log4j-over-slf4j-1.7.21.jar 
| | |____logback-classic-1.1.7.jar 
| | |____logback-core-1.1.7.jar 
| | |____mockito-core-1.10.19.jar 
| | |____objenesis-2.1.jar 
| | |____slf4j-api-1.7.21.jar 
| | |____snakeyaml-1.17.jar 
| | |____spring-aop-4.3.3.RELEASE.jar 
| | |____spring-aspects-4.3.3.RELEASE.jar 
| | |____spring-beans-4.3.3.RELEASE.jar 
| | |____spring-boot-1.4.1.RELEASE.jar 
| | |____spring-boot-autoconfigure-1.4.1.RELEASE.jar 
| | |____spring-boot-configuration-processor-1.4.1.RELEASE.jar 
| | |____spring-boot-devtools-1.4.1.RELEASE.jar 
| | |____spring-boot-starter-1.4.1.RELEASE.jar 
| | |____spring-boot-starter-aop-1.4.1.RELEASE.jar 
| | |____spring-boot-starter-data-jpa-1.4.1.RELEASE.jar 
| | |____spring-boot-starter-jdbc-1.4.1.RELEASE.jar 
| | |____spring-boot-starter-logging-1.4.1.RELEASE.jar 
| | |____spring-boot-starter-test-1.4.1.RELEASE.jar 
| | |____spring-boot-starter-tomcat-1.4.1.RELEASE.jar 
| | |____spring-boot-starter-web-1.4.1.RELEASE.jar 
| | |____spring-boot-test-1.4.1.RELEASE.jar 
| | |____spring-boot-test-autoconfigure-1.4.1.RELEASE.jar 
| | |____spring-context-4.3.3.RELEASE.jar 
| | |____spring-core-4.3.3.RELEASE.jar 
| | |____spring-data-commons-1.12.3.RELEASE.jar 
| | |____spring-data-jpa-1.10.3.RELEASE.jar 
| | |____spring-expression-4.3.3.RELEASE.jar 
| | |____spring-jdbc-4.3.3.RELEASE.jar 
| | |____spring-orm-4.3.3.RELEASE.jar 
| | |____spring-tx-4.3.3.RELEASE.jar 
| | |____spring-web-4.3.3.RELEASE.jar 
| | |____spring-webmvc-4.3.3.RELEASE.jar 
| | |____tomcat-embed-core-8.5.5.jar 
| | |____tomcat-embed-el-8.5.5.jar 
| | |____tomcat-embed-websocket-8.5.5.jar 
| | |____tomcat-jdbc-8.5.5.jar 
| | |____tomcat-juli-8.5.5.jar 
| | |____validation-api-1.1.0.Final.jar 
| | |____xml-apis-1.4.01.jar 
|____META-INF 
| |____MANIFEST.MF 
| |____maven 
| | |____nl.mad 
| | | |____executable-jar-with-liquibase 
| | | | |____pom.properties 
| | | | |____pom.xml 
|____org 
| |____springframework 
| | |____boot 
| | | |____loader 
| | | | |____archive 
| | | | | |____Archive$Entry.class 
| | | | | |____Archive$EntryFilter.class 
| | | | | |____Archive.class 
| | | | | |____ExplodedArchive$1.class 
| | | | | |____ExplodedArchive$FileEntry.class 
| | | | | |____ExplodedArchive$FileEntryIterator$EntryComparator.class 
| | | | | |____ExplodedArchive$FileEntryIterator.class 
| | | | | |____ExplodedArchive.class 
| | | | | |____JarFileArchive$EntryIterator.class 
| | | | | |____JarFileArchive$JarFileEntry.class 
| | | | | |____JarFileArchive.class 
| | | | |____data 
| | | | | |____ByteArrayRandomAccessData.class 
| | | | | |____RandomAccessData$ResourceAccess.class 
| | | | | |____RandomAccessData.class 
| | | | | |____RandomAccessDataFile$DataInputStream.class 
| | | | | |____RandomAccessDataFile$FilePool.class 
| | | | | |____RandomAccessDataFile.class 
| | | | |____ExecutableArchiveLauncher$1.class 
| | | | |____ExecutableArchiveLauncher.class 
| | | | |____jar 
| | | | | |____AsciiBytes.class 
| | | | | |____Bytes.class 
| | | | | |____CentralDirectoryEndRecord.class 
| | | | | |____CentralDirectoryFileHeader.class 
| | | | | |____CentralDirectoryParser.class 
| | | | | |____CentralDirectoryVisitor.class 
| | | | | |____FileHeader.class 
| | | | | |____Handler.class 
| | | | | |____JarEntry.class 
| | | | | |____JarEntryFilter.class 
| | | | | |____JarFile$1.class 
| | | | | |____JarFile$2.class 
| | | | | |____JarFile$3.class 
| | | | | |____JarFile$JarFileType.class 
| | | | | |____JarFile.class 
| | | | | |____JarFileEntries$1.class 
| | | | | |____JarFileEntries$EntryIterator.class 
| | | | | |____JarFileEntries.class 
| | | | | |____JarURLConnection$1.class 
| | | | | |____JarURLConnection$JarEntryName.class 
| | | | | |____JarURLConnection.class 
| | | | | |____ZipInflaterInputStream.class 
| | | | |____JarLauncher.class 
| | | | |____LaunchedURLClassLoader$1.class 
| | | | |____LaunchedURLClassLoader.class 
| | | | |____Launcher.class 
| | | | |____MainMethodRunner.class 
| | | | |____PropertiesLauncher$1.class 
| | | | |____PropertiesLauncher$ArchiveEntryFilter.class 
| | | | |____PropertiesLauncher$FilteredArchive$1.class 
| | | | |____PropertiesLauncher$FilteredArchive.class 
| | | | |____PropertiesLauncher$PrefixMatchingArchiveFilter.class 
| | | | |____PropertiesLauncher.class 
| | | | |____util 
| | | | | |____SystemPropertyUtils.class 
| | | | |____WarLauncher.class 

Das gesamte Projekt finden Sie hier: https://github.com/robert-bor/executable-jar-with-liquibase

Was mache ich falsch hier?

Antwort

6

es, um ein Problem mit dem INCLUDEALL Tag in liquibase verwendet, see this issue. Es sollte in der Zwischenzeit behoben sein, aber im Moment konnte ich es nicht mit dem Tag laufen lassen.

Als Lösung für Ihr Problem Einsatz:

<include file="classpath:db/changelogs/changelog_000.xml" relativeToChangelogFile="false"/> 
+0

Arbeiten wie ein Charme, vielen Dank, Sir! –

+0

Ich habe auch mit der Version 3.5.2 versucht, aber wie Sie sagen, scheint es nicht zu funktionieren. Kommentieren im Liquibase JIRA-Problem. –

+0

Ein Problem in Liquibase JIRA protokolliert: https://liquibase.jira.com/browse/CORE-2948 –

Verwandte Themen