如果Java版本旧了,那么Java会产生如此非常神秘的错误消息:UnsupportedClassVersionError ....虽然我们在发行说明中有必要的Java版本,但许多客户都会通过此错误消息与支持人员联系。
是否有一个简单的解决方案可以向用户显示更好的错误消息?
我们使用Gradle进行建筑。如何使用较低的类文件版本编译一小组文件?在这个文件中,我们可以进行版本检查以显示错误消息。
当然我们无法更改完整项目的类文件版本。
答案 0 :(得分:1)
如何使用较低的类文件版本编译一小组文件?
使用-source
命令的-target
和javac
选项(请参阅Table 47.8),或者由于您使用的是Gradle,请使用相应的相应设置在Gradle构建文件中,您需要能够在较旧的Java版本上运行该部件。
对于Gradle,您可以使用sourceCompatibility
和targetCompatibility
属性,请参阅Gradle文档中的https://pastebin.com/dRsTVzEg。
答案 1 :(得分:1)
我创建了一个名为use-newer-java
的小型库,您可以使用它来执行版本检查:
use-newer-java
作为依赖项Main-Class:
字段设置为
use.newer.java.Version8
或use.newer.java.Version9
等,视情况而定。Main-Class-After-UseNewerJava-Check:
设置为应用程序的正常主类 - 使用较新的Java 将遵循此设置,并在进行检查后调用此代码答案 2 :(得分:0)
通过JWS分发您的申请。它规定了确保安装所需的JRE版本。