sonar-scanner连接sonarquebe7的sonar.java.binaries问题的解决方案

Sonar-Scanner连接新版SonarQube7提示org.sonar.squidbridge.api.AnalysisException,暂定将sonar-java-plugin降到4.10恢复正常使用。

现象描述

以一下版本Sonar-Scanner连接SonarQube进行Maven项目的代码检测,没有任何问题。

Sonar-Scanner命令

使用命令sonar-scanner,使用-D传入以下参数

问题描述

在仅仅升级了SonarQube到7.0之后,使用同样的sonar-scanner命令出现了如下的错误信息

ERROR: Error during SonarQube Scanner execution
org.sonarsource.scanner.api.internal.ScannerException: Unable to execute SonarQube
  at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:84)
  at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory$1.run(IsolatedLauncherFactory.java:71)
  at java.security.AccessController.doPrivileged(Native Method)
  at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:71)
  at org.sonarsource.scanner.api.internal.IsolatedLauncherFactory.createLauncher(IsolatedLauncherFactory.java:67)
  at org.sonarsource.scanner.api.EmbeddedScanner.doStart(EmbeddedScanner.java:218)
  at org.sonarsource.scanner.api.EmbeddedScanner.start(EmbeddedScanner.java:156)
  at org.sonarsource.scanner.cli.Main.execute(Main.java:74)
  at org.sonarsource.scanner.cli.Main.main(Main.java:61)
...省略

原因

参看如下URL有一些相关提示

https://docs.sonarqube.org/display/PLUG/Java+Plugin+and+Bytecode

sonar.java.binaries
Comma-separated paths to directories containing the compiled bytecode files corresponding to your source files.
Since 4.12, analysis will fail with the message :
Please provide compiled classes of your project with sonar.java.binaries property

确认版本

确认了SonarQube7的此plugin的版本信息为5.01

/opt/sonarqube/extensions/plugins # ls -lrt
total 36048
-rw-r--r--  1 sonarqub sonarqub  7368250 Jan 29 09:21 sonar-xml-plugin-1.4.3.1027.jar
-rw-r--r--  1 sonarqub sonarqub  6680471 Jan 29 09:21 sonar-scm-svn-plugin-1.6.0.860.jar
-rw-r--r--  1 sonarqub sonarqub  3625962 Jan 29 09:21 sonar-scm-git-plugin-1.3.0.869.jar
-rw-r--r--  1 sonarqub sonarqub  3373769 Jan 29 09:21 sonar-javascript-plugin-4.0.0.5862.jar
-rw-r--r--  1 sonarqub sonarqub  1618672 Jan 29 09:21 sonar-flex-plugin-2.3.jar
-rw-r--r--  1 sonarqub sonarqub  1460815 Jan 29 09:21 sonar-csharp-plugin-6.7.1.4347.jar
-rw-r--r--  1 sonarqub sonarqub  1663416 Feb 2 08:52 sonar-typescript-plugin-1.5.0.2122.jar
-rw-r--r--  1 sonarqub sonarqub  1509434 Feb 2 08:52 sonar-python-plugin-1.9.0.2010.jar
-rw-r--r--  1 sonarqub sonarqub  2774137 Feb 2 08:52 sonar-php-plugin-2.12.1.3018.jar
-rw-r--r--  1 sonarqub sonarqub  6813805 Feb 2 08:52 sonar-java-plugin-5.1.0.13090.jar
-rw-r--r--  1 sonarqub sonarqub    92 Feb 2 12:23 README.txt
/opt/sonarqube/extensions/plugins #

下载4.10版本

wget https://sonarsource.bintray.com/Distribution/sonar-java-plugin/sonar-java-plugin-4.10.0.10260.jar

暂定对应方法:替换容器中的sonar-java-plugin-5.1.0.13090.jar

删除容器中sonar-java-plugin-5.1.0.13090.jar文件,将下载的sonar-java-plugin-4.10.0.10260.jar放于其中进行替换

重启sonrqbue的容器&动作确认

重启容器之后,之前的sonar-scanner命令已经恢复正常

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • Java使用Scanner类获取用户输入过程解析

    这篇文章主要介绍了Java使用Scanner类获取用户输入过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建 Scanner 对象的基本语法: Scanner s = new Scanner(System.in); Scanner 类的 next() 方法 import java.util.Scanner; class Test{ public static void main(String[] args){ String s; Sc

  • Java中Scanner类与BufferReader类的不同点(非常详细)

    java.util.Scanner类是一个简单的文本扫描类,它可以解析基本数据类型和字符串.它本质上是使用正则表达式去读取不同的数据类型. Java.io.BufferedReader类为了能够高效的读取字符序列,从字符输入流和字符缓冲区读取文本. 下面是两个类的不同之处: 当nextLine()被用在nextXXX()之后,用Scanner类有什么问题 尝试去猜测下面代码的输出内容: // Code using Scanner Class import java.util.Scanner; c

  • java编程scanner类用法示例

    在Eclipse中编写程序时,如果我们的变量是需要手动输入的时候,我们就可以用到scanner类了. Scanner类,这是一个用于扫描输入文本的新的实用程序.由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分.于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法.这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析.借助于Scanner,可以针对任何要处理的文本内容编写自定义的语法分析器.

  • Java输入流Scanner/BufferedReader使用方法示例

    1.使用Scanner 使用时需要引入包import java.util.Scanner;首先定义Scanner对象 Scanner sc = new Scanner(System.in);如果要输入整数,则 int n = sc.nextInt();String类型的,则String temp = sc.next(); 比如: 复制代码 代码如下: import java.util.Scanner; public class Test {    @SuppressWarnings("resou

  • Java编程实现向文本文件中读取数据之Scanner用法示例

    本文实例讲述了Java编程实现向文本文件中读取数据之Scanner用法.分享给大家供大家参考,具体如下: 使用Scanner类来读取文件 我们使用Scanner类来从键盘上读取数据,也可以使用Scanner类来从文本文件中读取数据,我们先来看一个实例代码 package com.li; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.*; public class Mai

  • Java基于Scanner对象的简单输入计算功能示例

    本文实例讲述了Java基于Scanner对象的简单输入计算功能.分享给大家供大家参考,具体如下: 问题及代码: /* *Copyright (c)2015,西南大学计信院 *All rights reserved. *文件名称:Computearea.java *作 者:高硕 *完成日期:2015年10月14日 *版 本 号:v1.0 *问题描述:输入半径求面积. *程序输入:半径. *程序输出:面积. */ package practice_01; import java.util.Scann

  • java中Scanner类的简单用法分享

    复制代码 代码如下: public static void main(String[] args) {     System.out.println("请输入值,以回车结束:");     Scanner sc = new Scanner(System.in);     sc.useDelimiter("\n");     while (sc.hasNext()) {         String s = sc.next();         System.out.

  • Java Scanner输入两个数组的方法

    题目 从命令行读入两个数组的长度和数组的值,其中第一行两个数na和nb代表aa和bb数组的长度 代码 import java.util.Scanner; public class Z { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int na = scanner.nextInt(); int nb = scanner.nextInt(); int[] aa = new in

  • sonar-scanner连接sonarquebe7的sonar.java.binaries问题的解决方案

    Sonar-Scanner连接新版SonarQube7提示org.sonar.squidbridge.api.AnalysisException,暂定将sonar-java-plugin降到4.10恢复正常使用. 现象描述 以一下版本Sonar-Scanner连接SonarQube进行Maven项目的代码检测,没有任何问题. Sonar-Scanner命令 使用命令sonar-scanner,使用-D传入以下参数 问题描述 在仅仅升级了SonarQube到7.0之后,使用同样的sonar-sca

  • nodejs连接dubbo服务的java工程实现示例

    目录 前言 1.启动dubbo提供服务 2.新建node测试文件nodeTest.js 3.下载所需依赖 4.启动服务 前言 最近公司整体服务架构从MQ迁移到dubbo上,公司有部分项目使用了nodejs服务,故研究了下nodejs的dubbo客户端,以下使用node-zookeeper-dubbo客户端为网友提供,因node-zookeeper-dubbo本身项目使用的实例描述并不完备,对于非node专业来说,跑一个实例还是有点困难,在博主实践过程中,也遇到很多问题,固有此文,希望可以给同样需

  • 详解Java分布式Session共享解决方案

    分布式Session一致性? 说白了就是服务器集群Session共享的问题 Session的作用? Session 是客户端与服务器通讯会话跟踪技术,服务器与客户端保持整个通讯的会话基本信息. 客户端在第一次访问服务端的时候,服务端会响应一个sessionId并且将它存入到本地cookie中,在之后的访问会将cookie中的sessionId放入到请求头中去访问服务器,如果通过这个sessionid没有找到对应的数据那么服务器会创建一个新的sessionid并且响应给客户端. 分布式Sessio

  • java.lang.NumberFormatException异常解决方案详解

    前言:        在做后台时用的jsp开发,在页面向controller传参时用String接收的参数,但是数据库实体中jies接收该参数时是int类型,做了一下强制转换,但是没有判断去空格,结果页面加载时就报500错误了. 错误截图: 在报错后注意分析报错信息,如上图提示在ShopController.java 的92行出错了,那么错误就很容易定位了,去看那里的代码. 错误关键字 java.lang.NumberFormatException 这句话明确告诉了我们是数字格式异常,接着后面有

  • Java OOM原因以及解决方案

    1)什么是OOM? OOM,全称"Out Of Memory",翻译成中文就是"内存用完了",来源于java.lang.OutOfMemoryError.看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memory could be made available by the garba

  • Java线程安全问题的解决方案

    目录 线程安全问题演示 解决线程安全问题 1.原子类AtomicInteger 2.加锁排队执行 2.1 同步锁synchronized 2.2 可重入锁ReentrantLock 3.线程本地变量ThreadLocal 总结 前言: 线程安全是指某个方法或某段代码,在多线程中能够正确的执行,不会出现数据不一致或数据污染的情况,我们把这样的程序称之为线程安全的,反之则为非线程安全的.在 Java 中, 解决线程安全问题有以下 3 种手段: 使用线程安全类,比如 AtomicInteger. 加锁

  • java开发主流定时任务解决方案全横评详解

    目录 引言 Crontab 目标定位 使用方式 实现原理 方案分析 Spring Task 目标定位 使用方式 实现原理 方案分析 ElasticJob 目标定位 使用方式 实现原理 方案分析 XXLJob 目标定位 使用方式 实现原理 方案分析 Serverless Job 目标定位 使用方式 实现原理 方案分析 总结 引言 定时任务作为一种按照约定时间执行预期逻辑的通用模式,在企业级开发中承载着丰富的业务场景,诸如后台定时同步数据生成报表,定时清理磁盘日志文件,定时扫描超时订单进行补偿回调等

  • 用Java实现FTP服务器解决方案

    FTP 命令 FTP 的主要操作都是基于各种命令基础之上的.常用的命令有: · 设置传输模式,它包括ASCⅡ(文本) 和BINARY 二进制模式; · 目录操作,改变或显示远程计算机的当前目录(cd.dir/ls 命令); · 连接操作,open命令用于建立同远程计算机的连接:close命令用于关闭连接; · 发送操作,put命令用于传送文件到远程计算机:mput 命令用于传送多个文件到远程计算机; · 获取操作,get命令用于接收一个文件:mget命令用于接收多个文件. 编程思路 根据FTP

  • Mybatis单个参数的if判断报异常There is no getter for property named 'xxx' in 'class java.lang.Integer'的解决方案

    我们都知道mybatis在进行参数判断的时候,直接可以用<if test=""></if> 就可以了,如下: 1.常规代码 <update id="update" parameterType="com.cq2022.zago.order.entity.Test" > update t_test_l <set > <if test="trnsctWayId != null"

  • Mybatis单个参数的if判断报异常There is no getter for property named 'xxx' in 'class java.lang.Integer'的解决方案

    我们都知道mybatis在进行参数判断的时候,直接可以用<if test=""></if> 就可以了,如下: 1.常规代码 <update id="update" parameterType="com.cq2022.zago.order.entity.Test" > update t_test_l <set > <if test="trnsctWayId != null"

随机推荐