Community SonarQube Error For Swift Language

  • I am using this community Release version 25.8.0.112029

  • SonarQube is deployed via zip

  • I have set up sonarqube on localhost:9000, but when I run the sonar-scanner command on my project folder, it will not show any issues on the sonarqube dashboard. Then I added backelite-sonar-swift-plugin-0.4.6.jar at this position Sonarqube>extensions>plugins. Then I got a compatibility error, and sonarqube server has not been set up. The error has been pasted below.

    ”””””””
    Fail to load plugin Swift (Backelite) [backelitesonarswiftplugin]

    at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:81)

    at org.sonar.server.platform.platformlevel.PlatformLevel4.configureLevel(PlatformLevel4.java:767)

    at org.sonar.server.platform.platformlevel.PlatformLevel.configure(PlatformLevel.java:70)

    at org.sonar.server.platform.PlatformImpl.start(PlatformImpl.java:214)

    at org.sonar.server.platform.PlatformImpl.startLevel34Containers(PlatformImpl.java:197)

    at org.sonar.server.platform.PlatformImpl$AutoStarterRunnable.runIfNotAborted(PlatformImpl.java:365)

    at org.sonar.server.platform.PlatformImpl$1.doRun(PlatformImpl.java:116)

    at org.sonar.server.platform.PlatformImpl$AutoStarterRunnable.run(PlatformImpl.java:349)

    at java.base/java.lang.Thread.run(Thread.java:1575)

    Caused by: java.lang.NoClassDefFoundError: org/sonar/api/profiles/ProfileImporter

    at java.base/java.lang.ClassLoader.defineClass1(Native Method)

    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1026)

    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)

    at java.base/java.net.URLClassLoader.defineClass(URLClassLoader.java:524)

    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:427)

    at java.base/java.net.URLClassLoader$1.run(URLClassLoader.java:421)

    at java.base/java.security.AccessController.doPrivileged(AccessController.java:714)

    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:420)

    at org.sonar.classloader.ClassRealm.loadClassFromSelf(ClassRealm.java:135)

    at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:37)

    at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:97)

    at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:86)

    at com.backelite.sonarqube.swift.SwiftPlugin.define(SwiftPlugin.java:112)

    at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:71)

    … 8 common frames omitted

    Caused by: java.lang.ClassNotFoundException: org.sonar.api.profiles.ProfileImporter

    at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:39)

    at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:97)

    at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:86)

    … 22 common frames omitted

    2025.08.13 16:20:01 INFO web[o.s.p.ProcessEntryPoint] Hard stopping process

    2025.08.13 16:20:01 INFO web[o.h.v.i.util.Version] HV000001: Hibernate Validator 9.0.0.Final

    2025.08.13 16:20:01 INFO web[c.z.h.HikariDataSource] HikariPool-1 - Shutdown initiated…

    2025.08.13 16:20:01 INFO web[c.z.h.HikariDataSource] HikariPool-1 - Shutdown completed.

    2025.08.13 16:20:01 INFO web[o.s.s.p.d.EmbeddedDatabase] Embedded database stopped

    2025.08.13 16:20:01 INFO app[o.s.a.SchedulerImpl] Process[Web Server] is stopped

    2025.08.13 16:20:01 WARN app[o.s.a.p.AbstractManagedProcess] Process exited with exit value [ElasticSearch]: 143

    2025.08.13 16:20:01 INFO app[o.s.a.SchedulerImpl] Process[ElasticSearch] is stopped

    2025.08.13 16:20:01 INFO app[o.s.a.SchedulerImpl] SonarQube is stopped
    “““““

    Then I tried with older version i.e. SonarQube 8.9.10 LTA and used backelite-sonar-swift-plugin-0.4.6.jar at this position Sonarqube>extensions>plugins
    Gets error

    ””””
    wrapper | → Wrapper Started as Console

    wrapper | Launching a JVM…

    jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org

    jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.

    jvm 1 |

    jvm 1 |

    jvm 1 | WARNING - Unable to load the Wrapper’s native library because none of the

    jvm 1 | following files:

    jvm 1 | libwrapper-macosx-aarch64-64.dylib

    jvm 1 | libwrapper-macosx-universal-64.dylib

    jvm 1 | libwrapper.dylib

    jvm 1 | could be located on the following java.library.path:

    jvm 1 | /Applications/Sonarqube/bin/macosx-universal-64/./lib

    jvm 1 | Please see the documentation for the wrapper.java.library.path

    jvm 1 | configuration property.

    jvm 1 | System signals will not be handled correctly.

    jvm 1 |

    jvm 1 | 2025.08.13 14:19:39 INFO app[o.s.a.AppFileSystem] Cleaning or creating temp directory /Applications/Sonarqube/temp

    jvm 1 | 2025.08.13 14:19:39 INFO app[o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:54900]

    jvm 1 | 2025.08.13 14:19:39 INFO app[o.s.a.ProcessLauncherImpl] Launch process[[key=‘es’, ipcIndex=1, logFilenamePrefix=es]] from [/Applications/Sonarqube/elasticsearch]: /Applications/Sonarqube/elasticsearch/bin/elasticsearch

    jvm 1 | 2025.08.13 14:19:39 INFO app[o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running

    jvm 1 | 2025.08.13 14:19:39 INFO app[o.s.a.SchedulerImpl] Process[es] is up

    jvm 1 | 2025.08.13 14:19:39 INFO app[o.s.a.ProcessLauncherImpl] Launch process[[key=‘web’, ipcIndex=2, logFilenamePrefix=web]] from [/Applications/Sonarqube]: /opt/homebrew/Cellar/openjdk/23.0.2/libexec/openjdk.jdk/Contents/Home/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/Applications/Sonarqube/temp -XX:-OmitStackTraceInFastThrow --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/sonar-application-8.9.10.61524.jar:/Applications/Sonarqube/lib/jdbc/h2/h2-1.4.199.jar org.sonar.server.app.WebServer /Applications/Sonarqube/temp/sq-process4526938935161821232properties

    jvm 1 | warning: no-jdk distributions that do not bundle a JDK are deprecated and will be removed in a future release

    jvm 1 | 2025.08.13 14:19:40 INFO app[o.s.a.SchedulerImpl] Process[web] is stopped

    jvm 1 | 2025.08.13 14:19:40 WARN app[o.s.a.p.AbstractManagedProcess] Process exited with exit value [es]: 143

    jvm 1 | 2025.08.13 14:19:40 INFO app[o.s.a.SchedulerImpl] Process[es] is stopped

    jvm 1 | 2025.08.13 14:19:40 INFO app[o.s.a.SchedulerImpl] SonarQube is stopped

    wrapper | ← Wrapper Stopped
    ””””

    How to resolve this. Please help.

Hi,

The Swift plugin is a third-party plugin that doesn’t support recent SonarQube versions, the API it depends on (ProfileImporter) was removed years ago. Version 0.4.6 hasn’t been updated since 2020, so it won’t work with 8.x or newer. The issue was already reported multiple times on the repository without any answer from its mantainer. Do not expect any fix for this.

To get your SonarQube server running again you’ll need to remove backelite-sonar-swift-plugin-0.4.6.jar from extensions/plugins. Community Edition has no built-in Swift analyzer, so without a compatible plugin you won’t see Swift issues.

To analyze Swift, either upgrade to Developer Edition+ for the official Swift plugin, or use a tool like SwiftLint and import its results via SonarQube’s Generic Issue format. Updating the plugin yourself is possible but would require major rewrites to match today’s APIs.