私は同様の問題と回答を見回しましたが、私の解決策は見つかりませんでした。
プロジェクトのコンパイルとパッケージにopenjdk11とApache-maven-3.5.4を使用していますが、すべて正常に動作し、アプリケーションは正常に実行されています。
しかし、Mavenコマンドを介してSonarcubeサーバーに接続することに基づいてソナー分析を実行すると、失敗し、いくつかの問題が発生します。このコマンドは、jdk6とmaven 3.2.1を使用していたときに機能しました。
使用されるmavenコマンド:mvn sonar:sonar -Dsonar.Host.url = {mysonarcube.server} -Dsonar.login = {mysonartoken}
キーpom.xmlはソナーに関連しています:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<release>11</release>
</configuration>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>7.0-beta</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.5.0.1254</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.9</version>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
<append>true</append>
</configuration>
</plugin>
次のようなエラーメッセージ:
Java.lang.IllegalArgumentException: Unsupported class file major version 55
at org.objectweb.asm.ClassReader.<init>(ClassReader.Java:166)
at org.objectweb.asm.ClassReader.<init>(ClassReader.Java:148)
at org.objectweb.asm.ClassReader.<init>(ClassReader.Java:136)
at org.sonar.Java.resolve.BytecodeCompleter.loadClass(BytecodeCompleter.Java:242)
at org.sonar.Java.resolve.Symbols.<init>(Symbols.Java:176)
at org.sonar.Java.resolve.SemanticModel.createFor(SemanticModel.Java:60)
at org.sonar.Java.model.VisitorsBridge.visitFile(VisitorsBridge.Java:109)
at org.sonar.Java.ast.JavaAstScanner.simpleScan(JavaAstScanner.Java:96)
at org.sonar.Java.ast.JavaAstScanner.scan(JavaAstScanner.Java:68)
at org.sonar.Java.JavaSquid.scanSources(JavaSquid.Java:116)
at org.sonar.Java.JavaSquid.scan(JavaSquid.Java:110)
at org.sonar.plugins.Java.JavaSquidSensor.execute(JavaSquidSensor.Java:93)
at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.Java:53)
at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.Java:88)
at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.Java:82)
at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.Java:68)
at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.Java:88)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.Java:180)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.Java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.Java:121)
at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.Java:302)
at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.Java:297)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.Java:271)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.Java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.Java:121)
at org.sonar.scanner.task.ScanTask.execute(ScanTask.Java:48)
at org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.Java:84)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.Java:135)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.Java:121)
at org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.Java:121)
at org.sonar.batch.bootstrapper.Batch.doExecuteTask(Batch.Java:116)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.Java:71)
at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.Java:46)
at Java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
at Java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.base/Java.lang.reflect.Method.invoke(Method.Java:566)
at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.Java:60)
at com.Sun.proxy.$Proxy24.execute(Unknown Source)
at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.Java:171)
at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.Java:128)
at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(ScannerBootstrapper.Java:65)
at org.sonarsource.scanner.maven.SonarQubeMojo.execute(SonarQubeMojo.Java:104)
at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.Java:137)
at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:208)
at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:154)
at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:146)
at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.Java:117)
at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.Java:81)
at org.Apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.Java:56)
at org.Apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.Java:128)
at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:305)
at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:192)
at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:105)
at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:954)
at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:288)
at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:192)
at Java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
at Java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.base/Java.lang.reflect.Method.invoke(Method.Java:566)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.Java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.Java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.Java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:356)
at org.codehaus.classworlds.Launcher.main(Launcher.Java:47)
誰でも助けてくれたり、ヒントをくれたりします、ありがとう。
サーバーにインストールされているSonarJavaアナライザーは、おそらく<5.8
Java 11バイナリファイルを分析するには、sonarqubeインスタンスでSonarJava 5.8+にアップグレードする必要があります。
これは、Javaバージョン。
この質問 「メジャーバージョン」についても見ることができます。
SonarqubeがすでにJava 11をサポートしているかどうかもわからない。
したがって、Java11でコンパイルされたクラスがあり、sonarqubeがこれをチェックしたい(ただし、Java11をまだサポートしていない)場合、これが問題になる可能性があります。