SonarQube - 无法加载 Wrapper 的本地库 'wrapper.dll'

SonarQube - Unable to load the Wrapper's native library 'wrapper.dll'

我正在安装 SonarQube v5.0。

我正在 运行ning Windows Server 2012 64 位(虚拟 OS),Java 1.8 64 位,以及 SonarQube windows-x86-64包装器。

SonarQube,无论是 运行 通过 StartSonar.bat 使用命令提示符作为管理员还是作为 Windows 服务,都会不断抛出以下警告:

WARNING - Unable to load the Wrapper's native library 'wrapper.dll'.
      The file is located on the path at the following location but
      could not be loaded:
        C:\sonarqube-5.0.1\bin\windows-x86-64\.\lib\wrapper.dll
      Please verify that the file is readable by the current user
      and that the file has not been corrupted in any way.
      One common cause of this problem is running a 32-bit version
      of the Wrapper with a 64-bit version of Java, or vica versa.
      This is a 32-bit JVM.
      Reported cause:
        C:\sonarqube-5.0.1\bin\windows-x86-64\lib\wrapper.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform
      System signals will not be handled correctly.

我在网上找到的唯一信息是 2010 年的一些 JIRA,它们对我没有真正帮助。我无法在此 Windows 安装上创建声纳用户。我的 CI 环境中的所有其他工具都是 运行ning 在 Java 1.8 64 位上,这意味着 JAVA_HOME 设置为 JDK 1.8 64 位.我真的不想 运行 Java 32 位和 32 位包装器。这意味着 wrapper.conf 顶部的 JRE bin/java 路径必须指定 32 位 JRE。

我该怎么做才能摆脱这个警告?

并非所有应用程序都使用 JAVA_HOME 变量,因此您可以在使用 32 位版本时让 JAVA_HOME 指向您的 64 位版本。 注意:注册表中的 'Java_Home' 键不是 JAVA_HOME 变量。

好吧,一种确定的方法是使用 ..\windows-x86-64\UninstallNTService.bat 卸载当前服务并使用 ..\windows-x86-32\InstallNTService.bat.[=10= 安装 32 位版本]

如果它有效,那么您肯定拥有一个 32 位 JVM。

在 \sonarqube-5.1.2\bin\windows-x86-64 中安装了服务 SonarQube。

我刚刚在 Windows 服务中转到 SonarQube-->转到属性-->登录选项卡--->select 'Local Service'(输入系统密码).就是这样!

问题已解决。

希望这对无法解决上述问题的人有所帮助。

我在 Windows 7 上遇到了与 SonarQube 5.6.4 相同的问题。编辑 sonar.properties 文件以添加 wrapper.java.command=... 没有效果。不过,编辑我的路径语句就成功了。

我的路径声明中的前两个文件夹是

C:\ProgramData\Oracle\Java\javapath;C:\dev\sdks\jdk1.8.0_112\bin;....

第一个(C:\ProgramData\Oracle\Java\javapath)中的java.exe是32位的。我只是在我的路径中切换了两个:

C:\dev\sdks\jdk1.8.0_112\bin;C:\ProgramData\Oracle\Java\javapath;...

SonarQube 突然开始在 C:\dev\sdks\jdk1.8.0_112\bin

中使用 64 位 java.exe

进行此更改后,我可以毫无困难地重新启动 Firefox。

就我而言,运行 在 window 7 或 window 10 上的 SonarQube 7.3 上,我必须将 Java 版本更新到 java 8 到传递这个错误。