+-

Caused by: java.lang.UnsupportedClassVersionError: com/google/common/annotations/VisibleForTesting : Unsupported major.minor version 52.0 (unable to load class com.google.common.annotations.VisibleForTesting)
突然,没有与gradle或java jdk / jre版本相关的任何更改,我在构建服务器(ec2)上收到此运行时错误.如果我在本地计算机上运行它,则不会得到它.
我确保java -version对于我的构建服务器和本地计算机都返回1.7.0_x.
直到今天这么长时间都还不错.
最佳答案
从假期返回后重新构建未修改的应用程序时,遇到了相同的问题.现在,依赖关系树中的库依赖于最新版本的Google Guava库,该库需要Java 1.8.
通过例外,您可以了解到com / google / common / annotations / VisibleForTesting导致了您的问题.注释类型VisibleForTesting是Google Guava库的一部分.由于几个星期Guava Release 21.0可用.从Release Notes您可以阅读…
Important: Guava 21.0 requires Java 8.
您可能没有更改应用程序的依赖关系树,但是对于Guava 21.0的间接依赖关系确实存在.以我为例,这是com.googlecode.owasp-java-html-sanitizer,它取决于Guava 21.0.下载JAR并查看依赖项配置(在我的情况下为maven),我发现需要Guava版本> = 11.0.它将被解析为最新版本,即21.我的IDE中的依赖关系层次结构视图得出了相同的结论.
由于同时您已将构建服务器升级到JRE 1.8,因此问题不再存在(在构建服务器上).请注意:将应用程序投入生产时,您的服务器也将需要JRE 1.8.
点击查看更多相关文章
转载注明原文:java-突然获取不受支持的major.minor版本52.0 - 乐贴网