我正在安装 SonarQube v5.0.1。
我正在运行 Windows Server 2012 64 位、Java 1.8 64 位和 SonarQube windows-x86-64 包装器。
SonarQube 不断抛出以下错误:
WrapperSimpleApp: Encountered an error running main: java.lang.IllegalStateException: Temp directory is not writable: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\
java.lang.IllegalStateException: Temp directory is not writable: C:\Windows\system32\config\systemprofile\AppData\Local\Temp\
at org.sonar.process.MinimumViableSystem.checkWritableDir(MinimumViableSystem.java:60)
at org.sonar.process.MinimumViableSystem.checkWritableTempDir(MinimumViableSystem.java:52)
at org.sonar.process.MinimumViableSystem.check(MinimumViableSystem.java:45)
at org.sonar.application.App.main(App.java:113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createTempFile(Unknown Source)
at org.sonar.process.MinimumViableSystem.checkWritableDir(MinimumViableSystem.java:57)
... 9 more
<-- Wrapper Stopped
为什么 SonarQube 一直尝试写入 C:\Windows\System32\config\systemprofile\AppData\Local 而不是 C:\Windows\SysWOW64\config\systemprofile\AppData\Local?
为了摆脱以前安装中的这个错误,我不得不在 C:\Windows\System32\config\systemprofile\AppData\Local 中创建一个 Temp 文件夹,并使用读/写设置和/或权限来让 SonarQube 停止抱怨。
更新:这是一个大问题,因为我无法将 SonarQube 作为 Windows 服务启动。奇怪的是,我已经安装了 SonarQube 并作为 Windows 服务运行。今天,我停止了服务,现在我无法再启动服务了。我已将 Temp 文件夹的权限设置为非只读,因此每个人都拥有完全控制权(不理想,我知道......)
尽管如此,Temp 错误仍会阻止 SonarQube 启动。