如何查看他人项目的JDK版本?

如题,我从gitee下载了别人的项目想研究,但是我不知道这个项目当时开发的JDK版本,虽然我知道JDK版本不同也能开发,但还是希望尽量保持一致,请问如何知道他人的项目的JDK版本呢?


回答:

只有class

执行命令

// linux

javap -verbose xxx.class | grep "major"

// windows

javap -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

回到顶部