如何将sonar.path.data设置为其他驱动器

时间:2019-01-08 15:44:17

标签: sonarqube

我试图启动SonarQube 7.5,并且(per the online documentation)尝试通过使用以下几行编辑sonar.properties,将ElasticSearch存储路径更改为专用卷(Z:\ data):

# Paths to persistent data files (embedded database and search index) and temporary files.
# Can be absolute or relative to installation directory.
# Defaults are respectively <installation home>/data and <installation home>/temp
sonar.path.data=Z:\data
sonar.path.temp=Z:\temp

尝试启动时出现以下错误。

PS C:\> &"C:\sonarqube-7.5\bin\windows-x86-64\StartSonar.bat"
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    | WrapperSimpleApp: Encountered an error running main: java.io.IOException: Unable to create directory C:\sonarqube-7.5\Z:data
jvm 1    | java.io.IOException: Unable to create directory C:\sonarqube-7.5\Z:data
jvm 1    |      at org.apache.commons.io.FileUtils.forceMkdir(FileUtils.java:2491)
jvm 1    |      at org.sonar.application.AppFileSystem.createDirectory(AppFileSystem.java:80)
jvm 1    |      at org.sonar.application.AppFileSystem.reset(AppFileSystem.java:59)
jvm 1    |      at org.sonar.application.App.start(App.java:55)
jvm 1    |      at org.sonar.application.App.main(App.java:78)
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)
wrapper  | <-- Wrapper Stopped
Press any key to continue . . .

将sonar.path.data(和sonar.path.temp)更改为专用卷的正确方法是什么?

编辑: 感谢Simon Schrottner,现在我得到了一个完全不同的错误。

--> Wrapper Started as Service
Launching a JVM...
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.


WrapperSimpleApp: Encountered an error running main: java.io.IOException: 
Unable to create directory Z:\data
java.io.IOException: Unable to create directory Z:\data
    at org.apache.commons.io.FileUtils.forceMkdir(FileUtils.java:2491)
    at org.sonar.application.AppFileSystem.createDirectory(AppFileSystem.java:80)
    at org.sonar.application.AppFileSystem.reset(AppFileSystem.java:59)
    at org.sonar.application.App.start(App.java:55)
    at org.sonar.application.App.main(App.java:78)
    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.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
    at java.base/java.lang.Thread.run(Thread.java:834)
<-- Wrapper Stopped

其余的,我认为是Azure的权限问题,超出了我最初提出的问题的范围。西蒙,如果您将您的建议发布为答案,我可以将其标记为正确。

2 个答案:

答案 0 :(得分:2)

根据注释,您应该使用正斜杠而不是反斜杠。

您的财产的价值应为:

sonar.path.data=Z:/data

答案 1 :(得分:1)

您似乎使用了错误的路径分隔符。

正如评论中已经提到的-我强烈建议使用/(正斜杠)而不是\(反斜杠)

尽管Windows通常使用反斜杠,但这可能不适用于声纳。 Java本身提供了一个自己的静态字段来确定/使用正确的分隔符File.separator