执行 SonarScanner 结束命令后 SonarScanner 执行期间出错

问题描述

我在 SonarScanner 执行过程中遇到错误,同时执行第三个命令:

  1. dotnet begin /k:"project-key"
  2. dotnet 构建
  3. dotnet 端

以下是异常的屏幕截图:

错误:SonarScanner 执行期间出错 信息:------------------------------------------------ ------------------------ java.lang.ExceptionInInitializerError 在 com.sonar.sslr.api.typed.ActionParser.(ActionParser.java:59) 在 org.sonar.javascript.parser.JavaScriptParser.(JavaScriptParser.java:33)enter code here 在 org.sonar.javascript.parser.JavaScriptParserBuilder.createParser(JavaScriptParserBuilder.java:31) 在 org.sonar.plugins.javascript.JavaScriptSensor.(JavaScriptSensor.java:136) 在 org.sonar.plugins.javascript.JavaScriptSensor.(JavaScriptSensor.java:100) 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:78) 在 java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) 在 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) 在 org.picocontainer.injectors.AbstractInjector.newInstance(AbstractInjector.java:145) 在 org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:342) 在 org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:270) 在 org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:364) 在 org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) 在 org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) 在 org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) 在 org.picocontainer.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:606) 在 org.picocontainer.DefaultPicoContainer.getComponents(DefaultPicoContainer.java:587) 在 org.sonar.core.platform.ComponentContainer.getComponentsByType(ComponentContainer.java:290) 在 org.sonar.scanner.bootstrap.AbstractExtensionDictionnary.completeScannerExtensions(AbstractExtensionDictionnary.java:82) 在 org.sonar.scanner.bootstrap.AbstractExtensionDictionnary.getExtensions(AbstractExtensionDictionnary.java:77) 在 org.sonar.scanner.bootstrap.AbstractExtensionDictionnary.getFilteredExtensions(AbstractExtensionDictionnary.java:67) 在 org.sonar.scanner.sensor.ModuleSensorExtensionDictionnary.selectSensors(ModuleSensorExtensionDictionnary.java:40) 在 org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$0(ModuleSensorsExecutor.java:52) 在 org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77) 在 org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:52) 在 org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82) 在 org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136) 在 org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122) 在 org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:400) 在 org.sonar.scanner.scan.ProjectScanContainer.scanRecursively (ProjectScanContainer.java:395) 在 org.sonar.scanner.scan.ProjectScanContainer.scanRecursively (ProjectScanContainer.java:392) 在 org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:358) 在 org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136) 在 org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122) 在 org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:141) 在 org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136) 在 org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122) 在 org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:73) 在 org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67) 在 org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) 在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.base/java.lang.reflect.Method.invoke(Method.java:567) 在 org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) 在 jdk.proxy1/jdk.proxy1.$Proxy0.execute(来源不明) 在 org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189) 在 org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138) 在 org.sonarsource.scanner.cli.Main.execute(Main.java:112) 在 org.sonarsource.scanner.cli.Main.execute(Main.java:75) 在 org.sonarsource.scanner.cli.Main.main(Main.java:61) 引起:net.sf.cglib.core.CodeGenerationException: java.lang.reflect.InaccessibleObjectException-->无法使受保护的最终 java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,java.security.ProtectionDomain) 抛出 java.lang.ClassFormatError 可访问:模块 java.base 不会“打开 java.lang”到未命名的模块 @1bf39d06 在 net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:464) 在 net.sf.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:336) 在 net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:93) 在 net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:91) 在 net.sf.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54) 在 java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 在 net.sf.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61) 在 net.sf.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) 在 net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:116) 在 net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:291) 在 net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:221) 在 net.sf.cglib.core.KeyFactory.create(KeyFactory.java:174) 在 net.sf.cglib.core.KeyFactory.create(KeyFactory.java:153) 在 net.sf.cglib.proxy.Enhancer.(Enhancer.java:73) ... 53 更多 引起:java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,java.security.ProtectionDomain) throws java.lang.ClassFormatError 可访问:模块 java.base 不会“打开 java.lang”到未命名的模块 @1bf39d06 在 java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357) 在 java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) 在 java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199) 在 java.base/java.lang.reflect.Method.setAccessible(Method.java:193) 在 net.sf.cglib.core.ReflectUtils$1.run(ReflectUtils.java:61) 在 java.base/java.security.AccessController.doPrivileged(AccessController.java:554) 在 net.sf.cglib.core.ReflectUtils.(ReflectUtils.java:52) 在 net.sf.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:243) 在 net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) 在 net.sf.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:329) ... 65 更多 错误: SonarScanner 未成功完成 18:19:06.186 后处理失败。退出代码:1

SonarScanner exception screenshot

解决方法

我遇到了同样的问题并通过恢复到 openjdk 15.0.2 解决了它(截至今天 16.0 是最新的,似乎造成了这个问题,我使用 https://community.chocolatey.org/packages/openjdk#versionhistory 安装)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...