我正在进行从1.6升级到1.8的过程。
因此,我正在寻找一种很好的方法来列出所有不兼容Java 1.8的依赖项。我已经设置了JAVA_HOME。我使用Maven 3.3.9。
mvn dependancy:compatabilityTest
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T11:41:47-05:00)
Maven home: C:\Data\apps\apache-maven-3.3.9\bin\..
Java version: 1.8.0_112, vendor: Oracle Corporation
Java home: C:\Program Files (x86)\Java\jdk1.8.0_112\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "x86", family: "dos"
答案 0 :(得分:1)
"无法转换名称为&#34的班级;很可能意味着正在使用字节码生成或转换。没有办法静态地确定这个,因为在程序运行之前,类将不会以加载的形式存在。
Java 8为旧版本中没有的字节代码添加了一些验证。这意味着在Java 5.0中生成的无效的字节代码可能没有失败但现在却失败了。解决方案是升级字节码生成器的版本,最有可能是使用它的库。