如何解决执行 SonarScanner 结束命令后 SonarScanner 执行期间出错
我在 SonarScanner 执行过程中遇到错误,同时执行第三个命令:
- dotnet begin /k:"project-key"
- dotnet 构建
- 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 安装)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。