如何设置 sonar.path.data 到不同的驱动器

How to set sonar.path.data to different drive

我正在尝试启动 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 的权限问题,超出了我原来问题的范围。西蒙,如果你 post 你的建议作为答案,我可以将其标记为正确。

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

您的 属性 的值应该是:

sonar.path.data=Z:/data

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

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

虽然 windows 通常使用反斜杠,但这可能不适用于 sonarqube。 Java 本身为 determine/use 右分隔符 File.separator

提供了自己的静态字段