如何查看他人项目的JDK版本?
如题,我从gitee下载了别人的项目想研究,但是我不知道这个项目当时开发的JDK版本,虽然我知道JDK版本不同也能开发,但还是希望尽量保持一致,请问如何知道他人的项目的JDK版本呢?
回答:
只有class
执行命令
// linuxjavap -verbose xxx.class | grep "major"
// windowsjavap -verbose xxx.class | findstr "major"
版本对应:
- Java 1.2 -> major version 46
- Java 1.3 -> major version 47
- Java 1.4 -> major version 48
- Java 5 -> major version 49
- Java 6 -> major version 50
- Java 7 -> major version 51
- Java 8 -> major version 52
- Java 9 -> major version 53
- Java 10 -> major version 54
- Java 11 -> major version 55
java 代码
查看项目中 pom.xml 的 jdk 版本,一般都会指定
pom 没指定 jdk 版本
在当下项目一般使用的 jdk 版本为,1.7 或者 1.8,极少存在 1.6。
有两种方法判断:
方法一:通过代码使用的特性判断
1.8 能够识别的特性为:
- Lambda 表达式
- 默认方法,接口里面 default 关键字
- 集合 Stream 调用
- LocalDateTime 或者 LocalDate 类
- Optional 类
1.7 能够识别的特性为:
- try-with-resources,例如 try (FileInputStream stream = new FileInputStream("xxx"))
- 多类型异常合并,例如 catch (Exception1 | Exception1 e)
- switch 能够使用字符串
上面列的都是比较常用的,依靠搜索代码可以直接找到,更加详细的特性自行搜索"java7 新特性"或者"java8 新特性"
至于 1.6,我自己也极少使用,所以不是很了解,你可以试试直接指定 1.6,如果不存在任何错误,那么极大的可能就是 1.6,因为只要使用了新的 jdk 版本,都会不自觉的使用一些新版本的特性。
方法二:通过项目中依赖的 jar 判断
由于低版本 jdk 是不能加载高版本 jdk 编译生成的 class 的,因此你可以找到项目中依赖的 jar ,解压,根据我前面提到的命令去查看所依赖的 jar 的 jdk 版本,这样也能间接判断出来。
两个方法结合,就能准确的判断出你需要的 jdk 版本。
回答:
看看pom.xml里面有没有java.version
回答:
看源码,有新特性的话就选择最新特性的版本,一般直接打开项目就可以了,idea会提示你是什么版本
以上是 如何查看他人项目的JDK版本? 的全部内容, 来源链接: utcz.com/p/944678.html