IntelliJ + groovy DSL:如何排除文件被groovy插件编译?

Dor*_*old 8 java groovy intellij-idea liquibase groovydsl

我正在开发一个Java Web项目,该项目使用Liquibase groovy DSL来管理数据库更改.为了本主题,它可以是使用*.groovy文件作为源的任何其他第三方库.该项目是用gradle建造的.在我的一个模块(dao-base)下的src/main/resources文件夹我有groovy文件(changelog01.groovy, master_changelog.groovy等).这些文件应该在运行时由liquibase jar加载.

现在,当我尝试在IntelliJ中创建项目时,它会给出以下错误消息:

Groovyc:无法编译Groovy文件:没有为模块'dao-base'定义Groovy库.

我知道groovy插件检测*.groovy文件,尝试编译它们并且不出所料地失败.这些是groovy DSL文件,只能由第三方liquibase解析器加载,我不需要IntelliJ的groovy插件来尝试编译它们.

我设法提出了两个部分解决方案:1.禁用intellij中的groovy插件.这个解决方案的问题是gradle插件依赖于groovy插件,因此在禁用groovy插件时会自动禁用.我需要启用gradle插件.2.排除src/main/resources项目设置中的文件夹 - >模块 - > dao-base(我的模块) - > sources选项卡.这个解决方案的问题是,当我构建项目并部署到tomcat时,资源文件夹中的文件丢失,因为运行时需要文件中的文件,所以当战争加载时我得到文件未找到异常.

我希望有人能为这个问题找到更好的解决方案.

Ant*_*pov 15

尝试从编译器的资源列表中删除groovy文件后缀:

设置 - >编译器

IntelliJ IDEA编译器设置

  • 谢谢。这解决了我的问题。这很简单,但不知何故我忽略了这一点。 (2认同)