我试图启动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的权限问题,超出了我最初提出的问题的范围。西蒙,如果您将您的建议发布为答案,我可以将其标记为正确。
答案 0 :(得分:2)
根据注释,您应该使用正斜杠而不是反斜杠。
您的财产的价值应为:
sonar.path.data=Z:/data
答案 1 :(得分:1)
您似乎使用了错误的路径分隔符。
正如评论中已经提到的-我强烈建议使用/
(正斜杠)而不是\
(反斜杠)
尽管Windows通常使用反斜杠,但这可能不适用于声纳。 Java本身提供了一个自己的静态字段来确定/使用正确的分隔符File.separator