我在执行mvn -Dgrails.env=dev test
时遇到问题。
所有单元测试都通过了,但在执行集成测试时遇到了问题。
经过大量试用后,我将问题缩小到以下
grails test-app
适用于所有环境
mvn -Dgrails.env=test test
工作正常
mvn -Dgrails.env=dev test
抛出与以下插件相关的异常
虽然该类存在于目标文件夹中,但找不到DroolService
或AuditLogEvent
或PluginConfigGrailsPlugin
类。
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>drools</artifactId>
<version>1.1.0</version>
<scope>compile</scope>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>audit-logging</artifactId>
<version>1.0.5</version>
<scope>compile</scope>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.grails.plugins</groupId>
<artifactId>quartz2</artifactId>
<version>2.1.6.2</version>
<type>zip</type>
</dependency>
如果我评论drools插件,那么测试编译并正常工作。
执行应用程序没有问题。仅在使用maven的包装中发行。
我在运行grails test-app
方面遇到了问题,通过删除BuildConfig.groovy中grails.project.fork.test
的注释行来解决此问题
grails.project.fork = [
// configure settings for compilation JVM, note that if you alter the Groovy version forked compilation is required
// compile: [maxMemory: 256, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
// configure settings for the test-app JVM, uses the daemon by default
test: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, daemon:true],
// configure settings for the run-app JVM
run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
// configure settings for the run-war JVM
war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
// configure settings for the Console UI JVM
console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]
]
Maven命令在测试环境中没有任何问题但在任何其他环境中都有问题。