我正在使用JDK 12编写Java应用程序。
从Java 11开始,Oracle不提供任何JRE。
因此,JDK 11和JDK 12没有Java运行时环境。
如何执行使用jdk 11或jdk 12编写的jar?
我尝试使用jre 8,它可以工作。
怎么可能用jdk 12和jre 8编写打开的jar文件? 我在Internet上读到,从Java 11开始,jar文件中包含一些jre。 但是我仍然需要Java 8来打开它们吗?
答案 0 :(得分:2)
运行打包的jar文件只需要Java 11和Java 12 JDK。假设您安装正确,并且已安装了正确的环境变量,只需执行以下操作:
java -jar <jar_file>
应该适合您。如今,已授予的JDK没有以前的特定jre文件夹,但这并不意味着它们不提供您运行Java应用程序所需的任何内容。只需查看bin文件夹即可了解更多信息。
现在关于第二个问题。是否可以运行使用较旧的jre针对较新版本进行编译的Java应用程序。那么答案就取决于它。通常,从较新的jdk到较旧的jre生成的字节码运行将导致类兼容性错误。可以通过在兼容模式下编译应用程序来避免这种情况(很可能是您的情况)。
所以总结一下。继续并安装正确的Java版本(最好是与您一起开发并计划部署的Java版本)。正确设置环境,运行任何东西都不会出现问题。