SonarQube支持Java9吗?
问题实际上是双重的:
- 可以使用SonarQube 分析 Java9项目吗?
- SonarQube本身可以在Java9 JVM上运行吗?
Java8的同样问题
TL; DR: 是的! 它支持分析,显然是从2017年7月3日开始 (但他们拼命试图隐瞒事实……)
截至目前(2017-10-24,SonarQube版本6.6),SonarQube 可以使用SonarJava 4.11或更新版本来分析Java9代码 ,但是在Java9 JVM上运行并不是官方支持的 。
SonarQube Java插件兼容性
SonarJava页面声明它支持Java版本到10:
支持的版本,框架和特殊分析
- Java语言版本到10
SonarJava 4.11发布消息还指出:
SonarSource团队很高兴地宣布发布SonarJava版本4.11。
此版本引入了对Java 9项目的支持 。 但是,这是什么意思?
这意味着能够解析由jigsaw项目引入的module-info.java源文件。
此外,同一页明确列出对以下内容的支持
- Try-With-Resources增强function
- 接口私有方法
- 钻石运营商扩展
- JaCoCo报告了Java9类
SonarQube平台兼容性
链接
支持的平台
SonarQube Java分析器能够分析任何类型的Java源文件,无论它们遵循的Java版本如何。 但SonarQube分析和SonarQube服务器需要特定版本的JVM。
支持:
- Oracle JRE7❌
- Oracle JRE8✓
- Oracle JRE 9❌
- OpenJDK 7❌
- OpenJDK8✓
- OpenJDK 9❌
- IBM JRE❌
- GCJ❌
- Oracle JRockit❌
链接:
- 用于搜索字符串“java 9”的 SonarQube JIRA队列
- 用于搜索字符串“java9”的 SonarQube JIRA队列
- SonarQube JIRA门票“MMF-833:让SonarJava支持Java 9项目的分析”