我有一个这样的 gradle 项目:
root
|
|---- projectA
| |
| |----main
|
|---- projectB
| |
| |----test
...
projectA 正在将 springboot 1.0 升级到 2.0
projectA gradle.build是这样的:
...
jar {
enabled = true
}
...
项目B测试依赖于项目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 位于项目B
QueryManager 位于项目A 中。 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 {}
我进行了很多搜索,但找不到任何有用的内容。
最佳答案
我已经解决了这个问题。 eaAsync lib((github.com/Electronicarts/ea-async)最新版本1.2.3出现编译错误。降级到1.0.5后,问题解决了。
关于spring boot 1.0升级到2.0时java测试编译错误:'bad signature ¾4s9',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61654338/