簡體   English   中英

在 gradle 和 Java13 中運行時 Liquibase XmlElement 錯誤異常

[英]Liquibase XmlElement error exception when running within gradle and Java13

問題

我最近開始在 Spring Boot (2.2.1) 中使用 liquibase。 構建工具是gradleJDK版本是13 我已經根據 github 上的自述頁面集成了liquibase 插件

當我開始 liquibase 任務(例如更新(gradle 更新))時,我遇到了奇怪的行為。 我收到了XmlElement 屬性Java NoClassDefFoundException (抱歉,因為我丟失了確切的異常堆棧跟蹤和消息),但我解決了這個問題,並想在這里分享我的解決方案。

解決方案

當您從 Java 8 遷移到 Java 9 及更高版本時,這是眾所周知的問題,它通過向 javax.xml.bind 添加依賴項來解決。 但是,當您處理 liquibase gradle 插件時,將 compile 'javax.xml.bind:jaxb-api' 或 runtime 'javax.xml.bind:jaxb-api' 添加到依賴項部分並沒有幫助。 我通過添加 liquibaseRuntime 'javax.xml.bind:jaxb-api' 解決了這個問題,這是我的 gradle 腳本的一部分:

dependencies {
   // my project dependencies
   // ...

   // liquibase plugin deps
   liquibaseRuntime 'org.liquibase:liquibase-core:3.8.1'
    liquibaseRuntime "jakarta.xml.bind:jakarta.xml.bind-api:2.3.2"
    liquibaseRuntime 'org.springframework.boot:spring-boot:2.2.1.RELEASE'
    //liquibaseRuntime 'org.liquibase:liquibase-groovy-dsl:2.0.1'
    liquibaseRuntime 'org.postgresql:postgresql:9.4.1211.jre7'
    liquibaseRuntime 'ch.qos.logback:logback-core:1.2.3'
    liquibaseRuntime 'ch.qos.logback:logback-classic:1.2.3'
    liquibaseRuntime sourceSets.main.output 
}

我希望我的解決方案可以幫助您節省時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM