橘子汽水 2024-04-18 18:29 采纳率: 0%
浏览 15

sonarScanner扫描项目报错

使用sonarScanner扫描项目的时候报错 jdk使用的1.8版本
Caused by: net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InaccessibleObjectException-->Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module @36c7cbe1

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-18 18:29
    关注

    引自免费微信小程序:皆我百晓生

    看起来你在使用SonarScanner进行代码分析时遇到了一个与Java版本兼容性相关的问题。这个错误信息表明在尝试使用CGLIB库(一种用于动态代理的工具)对类进行操作时,由于Java 9及更高版本的安全增强特性,导致无法访问ClassLoader#defineClass方法。

    要解决这个问题,你需要确保SonarScanner、 SonarQube服务器以及你的项目都使用相同的JDK版本,并且是Java 8或更低版本。此外,还需要更新CGLIB库到支持Java 9+的版本,因为旧版CGLIB可能不兼容新版本的Java。

    以下是针对这个问题的步骤:

    1. 检查并确保所有环境的JDK版本

      • 确保你的本地开发环境、SonarScanner运行环境以及SonarQube服务器都是Java 8。
      • 可以通过运行 java -version 来查看当前JDK版本。
    2. 更新SonarScanner

      • 如果你的SonarScanner不是最新版本,升级到最新稳定版。可以从官方下载页面: 下载安装。
    3. 更新SonarQube

      • 检查SonarQube服务器上的版本,确保它也支持Java 8。如果使用的是较老的版本,考虑升级到支持Java 8的最新稳定版。可以在官方文档中找到对应版本的兼容性信息:
    4. 更新CGLIB依赖

      • 在你的项目中,确认是否有使用CGLIB库。如果是Maven项目,打开pom.xml文件;如果是Gradle项目,打开build.gradle文件。
      • 更新CGLIB库至支持Java 9+的版本。例如,对于Maven项目,可以将CGLIB依赖更新为以下内容:
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib</artifactId>
            <version>3.3.0</version>
        </dependency>
        
      • 对于Gradle项目,更新为:
        implementation 'cglib:cglib:3.3.0'
        
    5. 清理构建缓存

      • 清理Maven或Gradle的本地仓库缓存,以便加载新的依赖项。
      • 对于Maven,删除.m2/repository目录下的相应CGLIB包。
      • 对于Gradle,删除~/.gradle/caches/modules-2/files-2.1目录下的相应CGLIB模块。
    6. 重新执行SonarScanner

      • 完成上述更改后,再次运行SonarScanner扫描你的项目,应该能成功完成而不会遇到之前提到的错误。

    如果你仍然遇到问题,可能需要检查其他依赖库是否也可能存在类似的问题,确保它们都已更新到支持Java 9+的版本。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月18日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见