首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Java 11运行SonarScanner分析,用Java 8运行目标代码

用Java 11运行SonarScanner分析,用Java 8运行目标代码
EN

Stack Overflow用户
提问于 2021-02-18 20:38:21
回答 3查看 4.9K关注 0票数 4

正如下面的图像所指出的,SonarSource结束了对运行代码分析器的支持,使用了pre-11 Java版本。

我尝试搜索一个完整示例,说明如何使用java11Analyzer运行bitbucket管道来执行SonarScanner分析,但是目标代码使用java 11前版本(例如java 8),但是我找不到。根据这张照片,这应该是可能的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-02-21 19:57:00

我不知道是什么问题。公告通知您必须使用Java来执行扫描,但是您仍然可以用11+ <11编译代码。您没有提供任何关于您的项目的信息,所以让我们以一个Maven项目为例。

这通常意味着你必须做这样的事情:

代码语言:javascript
复制
// set Java to 8
export JAVA_HOME=/path/to/jdk8/

// compile, test and build
mvn package

// set Java to 11
export JAVA_HOME=/path/to/jdk11/

// execute scanner
mvn sonar:sonar
票数 7
EN

Stack Overflow用户

发布于 2021-10-02 11:05:39

@agabrys提供了最简单的解决方案和我们使用的解决方案,尽管通过Jenkins自由式作业,调用maven顶层目标包,然后端注入JAVA_HOME变量和调用maven声纳步骤,另一种方法是.

始终使用Java 11,但在maven pom中指定:

代码语言:javascript
复制
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>

这是运行时不兼容的一个小风险,如页面底部所指出的。

另一种选择是将配置文件与maven工具链结合使用,这些配置文件绑定到不同的配置文件,一个用于编译,另一个用于分析步骤。

票数 3
EN

Stack Overflow用户

发布于 2022-04-11 08:30:40

我在我的项目中也遇到了同样的问题,我的项目需要jdk8编译,而SonarScan需要jdk11,而且我一定要为maven使用sonar:sonar插件,而不是直接的sonarscanner二进制。

为了解决这个问题,我使用了docker容器,只是运行了声纳扫描部分。编译部分仍然是用主机的maven完成的。

若要使用docker运行SonarScan,请使用以下命令:

代码语言:javascript
复制
docker run -u $(id -u ${USER}):$(id -g ${USER}) --rm -v "$PWD":/usr/src/mymaven -v "$HOME/.m2":/tmp/.m2 -w /usr/src/mymaven maven:3-openjdk-11 \
         mvn -gs=/tmp/.m2/settings.xml -Dmaven.repo.local=/tmp/.m2/repository sonar:sonar \
        -Dsonar.dependencyCheck.jsonReportPath=target/dependency-check-report.json \
        -Dsonar.dependencyCheck.htmlReportPath=target/dependency-check-report.html \
        -Dsonar.dependencyCheck.summarize=true \
        -Dsonar.host.url=https://my-sonar-url \
        -Dsonar.login=****
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66267806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档