java测试编译错误:将Spring Boot 1.0升级到2.0时,“签名¾4s9错误”

时间:2020-05-07 09:27:47

标签: java spring-boot gradle spring-boot-2

我有一个这样的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
时发生编译错误 bad signature ¾4s9

错误消息是:

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 {}

我搜索了很多东西,但是找不到任何有用的东西。

1 个答案:

答案 0 :(得分:0)

我已经解决了问题。 eaAsync库((github.com/electronicarts/ea-async)最新版本1.2.3导致编译错误。降级到1.0.5后,问题得以解决。