Java---idea intelij的java版本降级编译

时间:2024-04-02 19:22:27

今天任务中开发的软件,提交给测试后,反馈说无法使用,如下图

Java---idea intelij的java版本降级编译

百度下,是因为我开发的时候使用的是java jdk1.8版本,也就是提示的version52.0,而测试人员使用的是jdk1.7版本,所以无法运行。

解决办法就是在编译时,降级编译,使用1.7或之前的版本jdk进行编译。

这个时候可能代码会有一些不兼容,需要进行微调,根据ide给出的提示自己调整好。

在idea中降级需要进行2步设置

1.点击file---project structure---project settings--project---project language level,修改成需要的级别

Java---idea intelij的java版本降级编译

project language level修改成较低的级别,6就是jdk1.6

Java---idea intelij的java版本降级编译

2.setting-----build,execution,deployment----compiler----java compiler---project bytecode version,改成你希望的jdk版本

Java---idea intelij的java版本降级编译

-project bytecode version,改成你希望的jdk版本

Java---idea intelij的java版本降级编译

在这步的时候,需要特别注意2个地方,看下图

Java---idea intelij的java版本降级编译


到此,已经完成了全部的修改工作,点击build,重新编译

Java---idea intelij的java版本降级编译

Java---idea intelij的java版本降级编译

生成jar包,我的jar包的路径是E:\myenv\intellij\TrafficRuleConv\out\artifacts\TrafficRuleConv_jar下面。

怎么能知道成功了呢。

验证办法

1.打开cmd,进到jar包所在的目录

2.用压缩包工具查看jar包,比如使用rar打开jar包,把包里面的class文件解压一个到当前目录下

3.比如,我刚才解压了main.class

4.我在cmd中,执行javap -verbose main|find "major"  。这个命令里,只需要替换main,这个是你刚才解压出来的class文件的文件名,不包含后缀。

5.屏幕会显示当前class的编译版本

Java---idea intelij的java版本降级编译

50代表jdk1.6版本。

到此,大功告成!

原地址https://blog.csdn.net/huyishero/article/details/61916516