SonarQube 7.9.1 常见问题
java.lang.IllegalStateException: SonarQube requires Java 11+ to run
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [sonarqube@localhost linux-x86-64]$ ./sonar.sh console Running SonarQube... 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 | 20:46:06.753 [WrapperSimpleAppMain] WARN org.sonar.application.config.JdbcSettings - JDBC URL is recommended to have the property 'rewriteBatchedStatements=true' jvm 1 | 20:46:06.764 [WrapperSimpleAppMain] WARN org.sonar.application.config.JdbcSettings - JDBC URL is recommended to have the property 'useConfigs=maxPerformance' jvm 1 | jvm 1 | WrapperSimpleApp: Encountered an error running main: java.lang.IllegalStateException: SonarQube requires Java 11+ to run jvm 1 | java.lang.IllegalStateException: SonarQube requires Java 11+ to run jvm 1 | at org.sonar.application.App.checkJavaVersion(App.java:93) jvm 1 | at org.sonar.application.App.start(App.java:56) jvm 1 | at org.sonar.application.App.main(App.java:98) jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) jvm 1 | at java.lang.reflect.Method.invoke(Method.java:498) jvm 1 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) jvm 1 | at java.lang.Thread.run(Thread.java:748) wrapper | <-- Wrapper Stopped |
解决
SonarQube只支持jdk11.
修改
/sonarqube-7.9.1/conf/wrapper.conf,添加jdk11
wrapper.java.command=/usr/local/jdk-11.0.4/bin/java
.MySQL数据库不支持
1 2 3 4 5 6 | ############################################################################################################# # End of Life of MySQL Support : SonarQube 7.9 and future versions do not support MySQL. # # Please migrate to a supported database. Get more details at # # https://community.sonarsource.com/t/end-of-life-of-mysql-support # # and https://github.com/SonarSource/mysql-migrator # ############################################################################################################# |
解决
不支持Mysql数据库。另外如果选择oracle服务器,需要Oracle11或以上版本
org.sonar.java.AnalysisException: Please provide compiled classes of your project with sonar.java.binaries property
在执行Soanr扫描过程中,出现错误。
执行命令为:
1 | sonar-scanner.bat -D"sonar.projectKey=ZZBOYAXUN-buildsx" -D"sonar.sources=." -D"sonar.host.url=http://192.168.1.252:9000/sonarqube" -D"sonar.login=33c6de9e9570832b39d0cbd283567f0e5b507d29" -D"sonar.java.binaries=E:\workspace\ZZBOYAXUN\buildsx\WebRoot\WEB-INF\classes"; |
错误日志如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | WARNING: Use --illegal-access=warn to enable warnings of further illegal reflect ive access operations WARNING: All illegal access operations will be denied in a future release INFO: Sensor JavaSquidSensor [java] INFO: Configured Java source version (sonar.java.source): none INFO: JavaClasspath initialization INFO: ------------------------------------------------------------------------ INFO: EXECUTION FAILURE INFO: ------------------------------------------------------------------------ INFO: Total time: 43.242s INFO: Final Memory: 13M/44M INFO: ------------------------------------------------------------------------ ERROR: Error during SonarQube Scanner execution org.sonar.java.AnalysisException: Please provide compiled classes of your projec t with sonar.java.binaries property at org.sonar.java.JavaClasspath.init(JavaClasspath.java:64) at org.sonar.java.AbstractJavaClasspath.getElements(AbstractJavaClasspath.java:280) at org.sonar.java.SonarComponents.getJavaClasspath(SonarComponents.java: 209) at org.sonar.java.JavaSquid.<init>(JavaSquid.java:84) at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:8 7) at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensor Wrapper.java:48) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85) at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59) at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59) at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122) at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:400) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:395) at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:358) 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) at org.sonarsource.scanner.cli.Main.main(Main.java:61) ERROR: ERROR: Re-run SonarQube Scanner using the -X switch to enable full debug logging |
原因分析:
新版本的Sonar必须要指定:sonar.java.binaries参数。而我指定的sonar.java.binaries参数有误。
解决:
D"sonar.java.binaries=E:\workspace\ZZBOYAXUN\buildsx\WebRoot\WEB-INF\classes";,修改为D"sonar.java.binaries=E:/workspace/ZZBOYAXUN/buildsx/WebRoot/WEB-INF/classes";
java.lang.IllegalStateException: Can not execute Checkstyle
执行命令为:
1 | sonar-scanner.bat -D"sonar.projectKey=ZZBOYAXUN-buildsx" -D"sonar.sources=." -D"sonar.host.url=http://192.168.1.252:9000/sonarqube" -D"sonar.login=33c6de9e9570832b39d0cbd283567f0e5b507d29" -D"sonar.java.binaries=E:/workspace/ZZBOYAXUN/buildsx/WebRoot/WEB-INF/classes"; |
错误日志如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | ERROR: Error during SonarQube Scanner execution java.lang.IllegalStateException: Can not execute Checkstyle at org.sonar.plugins.checkstyle.CheckstyleExecutor.executeWithClassLoader(CheckstyleExecutor.java:118) at org.sonar.plugins.checkstyle.CheckstyleExecutor.execute(CheckstyleExecutor.java:85) at org.sonar.plugins.checkstyle.CheckstyleSensor.execute(CheckstyleSensor.java:42) at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:48) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:85) at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:59) at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:77) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:59) at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:82) at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136) at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:122) at org.sonar.scanner.scan.ProjectScanContainer.scan(ProjectScanContainer.java:400) at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:395) at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:358) 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) at org.sonarsource.scanner.cli.Main.main(Main.java:61) Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: Exception was thrown while processing E:\workspace\ZZBOYAXUN\buildsx\src\com\zzbyx\logistic\accesscontrol\PassinfoController.java at com.puppycrawl.tools.checkstyle.Checker.processFiles(Checker.java:307) at com.puppycrawl.tools.checkstyle.Checker.process(Checker.java:220) at org.sonar.plugins.checkstyle.CheckstyleExecutor.executeWithClassLoader(CheckstyleExecutor.java:111) ... 32 more Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: TokenStreamRecognitionException occurred while parsing file E:\workspace\ZZBOYAXUN\buildsx\src\com\zzbyx\logistic\accesscontrol\PassinfoController.java. at com.puppycrawl.tools.checkstyle.JavaParser.parse(JavaParser.java:105) at com.puppycrawl.tools.checkstyle.TreeWalker.processFiltered(TreeWalker.java:160) at com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck.process(AbstractFileSetCheck.java:85) at com.puppycrawl.tools.checkstyle.Checker.processFile(Checker.java:332) at com.puppycrawl.tools.checkstyle.Checker.processFiles(Checker.java:294) ... 34 more |
原因分析
从日志中可以得知PassinfoController.java在进行CheckStyle扫描时出现错误,通过搜索发现并没有针对最新版本的解决方案,后来想到了跳过错误,查找Sonar文档,并没有这个参数,不过发现有跳过指定文件或目录的支持。
参考Idea的Sonar插件

image.png
解决
解决:添加搜索范围,最小,先跳过有问题的目录。
1 | sonar.exclusions=**/*.js,**/*{!.java},**/PassinfoController.java,**/*PassinfoController*,**/*BaseController*,**/BaseController.java |
Caused by: java.nio.file.AccessDeniedException: /var/sonarqube/temp/conf/es/elasticsearch.yml
Sonar服务器被重启后,启动不了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | [sonar@bogon linux-x86-64]$ ./sonar.sh console Running SonarQube... 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 | 2019.09.27 18:25:19 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /var/sonarqube/temp jvm 1 | 2019.09.27 18:25:19 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on /127.0.0.1:9001 jvm 1 | 2019.09.27 18:25:19 ERROR app[][o.s.a.p.ManagedProcessHandler] Fail to launch process [es] jvm 1 | java.lang.IllegalStateException: Cannot write Elasticsearch yml settings file jvm 1 | at org.sonar.application.es.EsYmlSettings.writeToYmlSettingsFile(EsYmlSettings.java:53) jvm 1 | at org.sonar.application.ProcessLauncherImpl.writeConfFiles(ProcessLauncherImpl.java:152) jvm 1 | at org.sonar.application.ProcessLauncherImpl.launch(ProcessLauncherImpl.java:84) jvm 1 | at org.sonar.application.SchedulerImpl.lambda$tryToStartProcess$2(SchedulerImpl.java:192) jvm 1 | at org.sonar.application.process.ManagedProcessHandler.start(ManagedProcessHandler.java:72) jvm 1 | at org.sonar.application.SchedulerImpl.tryToStartProcess(SchedulerImpl.java:190) jvm 1 | at org.sonar.application.SchedulerImpl.tryToStartEs(SchedulerImpl.java:142) jvm 1 | at org.sonar.application.SchedulerImpl.tryToStartAll(SchedulerImpl.java:134) jvm 1 | at org.sonar.application.SchedulerImpl.schedule(SchedulerImpl.java:108) jvm 1 | at org.sonar.application.App.start(App.java:68) jvm 1 | at org.sonar.application.App.main(App.java:98) jvm 1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) jvm 1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) jvm 1 | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) jvm 1 | at java.base/java.lang.reflect.Method.invoke(Method.java:566) jvm 1 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) jvm 1 | at java.base/java.lang.Thread.run(Thread.java:834) jvm 1 | Caused by: java.nio.file.AccessDeniedException: /var/sonarqube/temp/conf/es/elasticsearch.yml jvm 1 | at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) jvm 1 | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) jvm 1 | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) jvm 1 | at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:215) jvm 1 | at java.base/java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:478) jvm 1 | at java.base/java.nio.file.Files.newOutputStream(Files.java:219) jvm 1 | at java.base/java.nio.file.Files.write(Files.java:3422) jvm 1 | at org.sonar.application.es.EsYmlSettings.writeToYmlSettingsFile(EsYmlSettings.java:51) jvm 1 | ... 16 common frames omitted jvm 1 | 2019.09.27 18:25:19 INFO app[][o.s.a.SchedulerImpl] Process[es] is stopped jvm 1 | 2019.09.27 18:25:19 INFO app[][o.s.a.SchedulerImpl] Hard stopping SonarQube jvm 1 | 2019.09.27 18:25:19 INFO app[][o.s.a.SchedulerImpl] SonarQube is stopped jvm 1 | jvm 1 | WrapperSimpleApp: Encountered an error running main: java.lang.IllegalStateException: Cannot write Elasticsearch yml settings file jvm 1 | java.lang.IllegalStateException: Cannot write Elasticsearch yml settings file jvm 1 | at org.sonar.application.es.EsYmlSettings.writeToYmlSettingsFile(EsYmlSettings.java:53) jvm 1 | at org.sonar.application.ProcessLauncherImpl.writeConfFiles(ProcessLauncherImpl.java:152) jvm 1 | at org.sonar.application.ProcessLauncherImpl.launch(ProcessLauncherImpl.java:84) jvm 1 | at org.sonar.application.SchedulerImpl.lambda$tryToStartProcess$2(SchedulerImpl.java:192) jvm 1 | at org.sonar.application.process.ManagedProcessHandler.start(ManagedProcessHandler.java:72) jvm 1 | at org.sonar.application.SchedulerImpl.tryToStartProcess(SchedulerImpl.java:190) jvm 1 | at org.sonar.application.SchedulerImpl.tryToStartEs(SchedulerImpl.java:142) jvm 1 | at org.sonar.application.SchedulerImpl.tryToStartAll(SchedulerImpl.java:134) jvm 1 | at org.sonar.application.SchedulerImpl.schedule(SchedulerImpl.java:108) jvm 1 | at org.sonar.application.App.start(App.java:68) jvm 1 | at org.sonar.application.App.main(App.java:98) jvm 1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) jvm 1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) jvm 1 | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) jvm 1 | at java.base/java.lang.reflect.Method.invoke(Method.java:566) jvm 1 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) jvm 1 | at java.base/java.lang.Thread.run(Thread.java:834) jvm 1 | Caused by: java.nio.file.AccessDeniedException: /var/sonarqube/temp/conf/es/elasticsearch.yml jvm 1 | at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) jvm 1 | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) jvm 1 | at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) jvm 1 | at java.base/sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:215) jvm 1 | at java.base/java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:478) jvm 1 | at java.base/java.nio.file.Files.newOutputStream(Files.java:219) jvm 1 | at java.base/java.nio.file.Files.write(Files.java:3422) jvm 1 | at org.sonar.application.es.EsYmlSettings.writeToYmlSettingsFile(EsYmlSettings.java:51) jvm 1 | ... 16 more wrapper | <-- Wrapper Stopped [sonar@bogon linux-x86-64]$ |
原因分析
通过分析日志,可以查看到Caused by: java.nio.file.AccessDeniedException: /var/sonarqube/temp/conf/es/elasticsearch.yml这个文件,然后结合网上相应问题的解决方案,都是权限的问题,所以查看文件的执行权限,可以定位到问题,是因为当前用户sonar并没有这个文件的执行权限。
解决
修改文件的执行权限为sonar用户,命令: chown -R sonar:sonar /var/sonarqube/。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | [root@bogon ~]# cd /var/ [root@bogon var]# ll 总用量 24 drwxr-xr-x. 2 root root 18 5月 31 02:26 account drwxr-xr-x. 2 root root 6 8月 12 2015 adm drwxr-xr-x. 14 root root 4096 5月 31 02:35 cache drwxr-xr-x. 2 root root 6 11月 21 2015 crash drwxr-xr-x. 3 root root 32 5月 31 03:00 db drwxr-xr-x. 3 root root 17 5月 31 02:27 empty drwxr-xr-x 3 root root 16 5月 31 03:37 ftp drwxr-xr-x. 2 root root 6 8月 12 2015 games drwxr-xr-x. 2 root root 6 8月 12 2015 gopher drwxr-xr-x. 6 root root 4096 5月 31 03:08 hasplm drwxr-xr-x. 3 root root 17 5月 9 2018 kerberos drwxr-xr-x. 58 root root 4096 9月 28 03:48 lib drwxr-xr-x. 2 root root 6 8月 12 2015 local lrwxrwxrwx. 1 root root 11 5月 31 02:13 lock -> ../run/lock drwxr-xr-x. 18 root root 4096 9月 27 18:24 log lrwxrwxrwx. 1 root root 10 5月 31 02:13 mail -> spool/mail drwxr-xr-x. 2 root root 6 8月 12 2015 nis drwxr-xr-x. 2 root root 6 8月 12 2015 opt drwxr-xr-x. 2 root root 6 8月 12 2015 preserve lrwxrwxrwx. 1 root root 6 5月 31 02:13 run -> ../run drwxr-xr-x 4 root root 28 9月 5 10:56 sonarqube drwxr-xr-x. 12 root root 4096 5月 31 02:27 spool drwxr-xr-x 3 root root 17 5月 31 03:37 streaming drwxr-xr-x. 4 root root 26 5月 31 02:20 target drwxrwxrwt. 6 root root 4096 9月 27 18:23 tmp drwxr-xr-x. 2 root root 6 8月 12 2015 yp [root@bogon var]# chown -R sonar:sonar /var/sonarqube/ [root@bogon var]# ll 总用量 24 drwxr-xr-x. 2 root root 18 5月 31 02:26 account drwxr-xr-x. 2 root root 6 8月 12 2015 adm drwxr-xr-x. 14 root root 4096 5月 31 02:35 cache drwxr-xr-x. 2 root root 6 11月 21 2015 crash drwxr-xr-x. 3 root root 32 5月 31 03:00 db drwxr-xr-x. 3 root root 17 5月 31 02:27 empty drwxr-xr-x 3 root root 16 5月 31 03:37 ftp drwxr-xr-x. 2 root root 6 8月 12 2015 games drwxr-xr-x. 2 root root 6 8月 12 2015 gopher drwxr-xr-x. 6 root root 4096 5月 31 03:08 hasplm drwxr-xr-x. 3 root root 17 5月 9 2018 kerberos drwxr-xr-x. 58 root root 4096 9月 28 03:48 lib drwxr-xr-x. 2 root root 6 8月 12 2015 local lrwxrwxrwx. 1 root root 11 5月 31 02:13 lock -> ../run/lock drwxr-xr-x. 18 root root 4096 9月 27 18:24 log lrwxrwxrwx. 1 root root 10 5月 31 02:13 mail -> spool/mail drwxr-xr-x. 2 root root 6 8月 12 2015 nis drwxr-xr-x. 2 root root 6 8月 12 2015 opt drwxr-xr-x. 2 root root 6 8月 12 2015 preserve lrwxrwxrwx. 1 root root 6 5月 31 02:13 run -> ../run drwxr-xr-x 4 sonar sonar 28 9月 5 10:56 sonarqube drwxr-xr-x. 12 root root 4096 5月 31 02:27 spool drwxr-xr-x 3 root root 17 5月 31 03:37 streaming drwxr-xr-x. 4 root root 26 5月 31 02:20 target drwxrwxrwt. 6 root root 4096 9月 27 18:23 tmp drwxr-xr-x. 2 root root 6 8月 12 2015 yp [root@bogon var]# |
java.lang.IllegalArgumentException: Unable to create shared memory
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | [sonar@bogon linux-x86-64]$ pwd /usr/local/sonarqube-7.9.1/bin/linux-x86-64 [sonar@bogon linux-x86-64]$ ./sonar.sh console Running SonarQube... 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 | 2019.09.26 08:46:16 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /var/sonarqube/temp jvm 1 | jvm 1 | WrapperSimpleApp: Encountered an error running main: java.lang.IllegalArgumentException: Unable to create shared memory : jvm 1 | java.lang.IllegalArgumentException: Unable to create shared memory : jvm 1 | at org.sonar.process.sharedmemoryfile.AllProcessesCommands.<init>(AllProcessesCommands.java:103) jvm 1 | at org.sonar.application.AppFileSystem.reset(AppFileSystem.java:63) jvm 1 | at org.sonar.application.App.start(App.java:62) jvm 1 | at org.sonar.application.App.main(App.java:98) jvm 1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) jvm 1 | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) jvm 1 | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) jvm 1 | at java.base/java.lang.reflect.Method.invoke(Method.java:566) jvm 1 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) jvm 1 | at java.base/java.lang.Thread.run(Thread.java:834) jvm 1 | Caused by: java.io.FileNotFoundException: /var/sonarqube/temp/sharedmemory (权限不够) jvm 1 | at java.base/java.io.RandomAccessFile.open0(Native Method) jvm 1 | at java.base/java.io.RandomAccessFile.open(RandomAccessFile.java:345) jvm 1 | at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:259) jvm 1 | at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:214) jvm 1 | at org.sonar.process.sharedmemoryfile.AllProcessesCommands.<init>(AllProcessesCommands.java:100) jvm 1 | ... 9 more wrapper | <-- Wrapper Stopped [sonar@bogon linux-x86-64]$ |
权限问题,解决:
chown -R sonar /var/sonarqube/*
chown -R sonar /usr/local/sonarqube-7.9.1/*
[root@bogon ~]#