我通常处理Java后端问题,因此通常不使用gulp / npm。
我们有一组前端项目以及后端构建。最近,我们将SonarQube安装从6.x版本升级到7.9.1。到那时,我们发现前端版本中的SonarQube扫描失败。曾经我们曾经使用过时的“ gulp-sonar”依赖,但是我们转到了这个包,现在我们使用的是最新版本2.5.0。有人告诉我们,必须使用最新版本的基础声纳扫描仪,并且我们认为此2.5.0版本正在使用该扫描仪的4.0.0版,这是我们所需要的。
但是,在运行前端扫描时,我们会在日志中看到以下内容:
java.lang.UnsatisfiedLinkError: no zip in java.library.path: [/usr/java/packages/lib, /usr/lib64, /lib64, /lib, /usr/lib]
at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.base/java.lang.Runtime.loadLibrary0(Unknown Source)
at java.base/java.lang.System.loadLibrary(Unknown Source)
at java.base/java.util.zip.ZipUtils.loadLibrary(Unknown Source)
at java.base/java.util.zip.Deflater.<clinit>(Unknown Source)
at java.base/java.util.zip.ZipOutputStream.<init>(Unknown Source)
at java.base/java.util.zip.ZipOutputStream.<init>(Unknown Source)
at org.sonar.api.utils.ZipUtils.zipDir(ZipUtils.java:179)
at org.sonar.scanner.report.ReportPublisher.generateReportFile(ReportPublisher.java:159)
at org.sonar.scanner.report.ReportPublisher.execute(ReportPublisher.java:138)
at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:366)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
at org.sonar.scanner.bootstrap.GlobalContainer.doAfterStart(GlobalContainer.java:141)
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122)
at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:73)
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:67)
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(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
at com.sun.proxy.$Proxy0.execute(Unknown Source)
at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:185)
at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:137)
at org.sonarsource.scanner.cli.Main.execute(Main.java:112)
at org.sonarsource.scanner.cli.Main.execute(Main.java:75)
我不确定这里可能出什么问题。
更新:
我不确定这是否重要,但是在我看来,我们NPM存储库中的“ sonarqube-scanner”工件存储为“ .tgz”文件,而不是“ .zip”文件。但是,我们所有的npm工件都以这种方式存储。