我正在使用Liquibase groovy DSL來改變managae的Java web項目。 爲了這個主題,它可以是任何其他第三方庫,它使用*.groovy
文件作爲源。 該項目是用gradle構建的。 在我的一個模塊(dao-base
)下src/main/resources
文件夾我有groovy文件(changelog01.groovy, master_changelog.groovy
等)。這些文件應該在運行時由liquibase jar加載。IntelliJ + groovy DSL:如何排除groovy插件編譯的文件?
現在,當我試圖在的IntelliJ項目它提供了以下錯誤信息:
groovyc的:不能編譯Groovy文件:Groovy中沒有圖書館是 模塊「道基」定義。
我知道groovy插件檢測到*.groovy
文件,試圖編譯它們,並且意料之外的失敗。這些是groovy的DSL文件,應該只加載第三方liquibase解析器,我不需要IntelliJ的groovy插件來嘗試編譯它們。
我設法想出了2個部分解決方案: 1.禁用intellij中的groovy插件。 這個解決方案的問題在於,gradle插件依賴於groovy插件,因此在禁用groovy插件時會自動禁用。我需要啓用gradle插件。 2.在項目設置 - >模塊 - >dao-base
(我的模塊) - > sources選項卡中排除src/main/resources
文件夾。 這個解決方案的問題是,當我構建項目並部署到tomcat時,資源文件夾中的文件缺失,並且由於其中的文件在運行時是必需的,所以在加載戰爭時,我找不到文件異常。
我希望有人能想出一個更好的解決方案來解決這個問題。
謝謝。這解決了我的問題。這很簡單,但不知何故,我忽略了這一點。 –