如何从Grails 3插件中排除类

时间:2015-06-26 13:08:05

标签: grails plugins gradle grails-plugin grails-3.0

我正在尝试将Grails 2插件转换为Grails 3,但我无法排除在测试中仅使用生成的jar中使用的几个域类。

documentation州:

  在build.gradle中,您应该从JAR文件中排除已编译的类:

jar {
    exclude "com/demo/**/**"
}

...但是如果我尝试这个,我会从Gradle得到以下错误: Could not find method jar() for arguments [build_64zizslf5a7zfo329yz5tdsoi$_run_closure1@566c53c] on root project '...'

我可以发布整个堆栈跟踪但它看起来不是很有帮助。我正在使用Gradle 2.3,由create-plugin命令生成的默认Gradle包装器提供。我还没有对build.gradle进行任何其他更改,因为我的插件不需要任何外部依赖项。

1 个答案:

答案 0 :(得分:2)

https://github.com/jeffbrown/excludesdemo查看项目。这包括https://github.com/jeffbrown/excludesdemo/tree/master/grails-app/domain下的2个域类。

https://github.com/jeffbrown/excludesdemo/blob/72896a3f88f617d530bbdde8976d5bfe8d1e820a/build.gradle#L73的顶级build.gradle文件包含以下内容:

jar {
    exclude 'package1/**'
}

当您运行./gradlew jar时,您应该会看到build/libs/excludesdemo-0.1-SNAPSHOT.jar生成的jar文件包含package2/Author.class且不包含package1/Person.class