我有一个这样的gradle项目:
root
|
|---- projectA
| |
| |----main
|
|---- projectB
| |
| |----test
...
projectA正在将springboot 1.0升级到2.0
projectA gradle.build是这样的:
...
jar {
enabled = true
}
...
和projectB测试取决于项目A
projectB gradle.build是这样的:
...
dependencies {
testCompile project(':projectA')
}
...
运行./gradlew:projectB:test
时发生编译错误
错误消息是:
xxx.TestSupport.java:20: error: cannot access QueryManager
bad class file xxx/xxx/QueryManager.class
bad signature ¾4s9
TestSupport.java在projectB中
QueryManager在projectA中。而且querymanager类使用lombok和ea.async。
TestSupport.java的内容是:
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, classes = {
MysqlConfigurationSelector.class
},
properties = {"query.mysql.nio.enable=true","query.mysql.port=9011"})
@RunWith(SpringRunner.class)
@ActiveProfiles("test")
public abstract class TestSupport {}
我搜索了很多东西,但是找不到任何有用的东西。
答案 0 :(得分:0)
我已经解决了问题。 eaAsync库((github.com/electronicarts/ea-async)最新版本1.2.3导致编译错误。降级到1.0.5后,问题得以解决。