如何设置 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
提供了自己的静态字段
我正在尝试启动 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
提供了自己的静态字段