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

I'm installing SonarQube v5.0.
I'm running Windows Server 2012 64-bit (a virtual OS), Java 1.8 64-bit, and the SonarQube windows-x86-64 wrapper.
SonarQube, whether run via StartSonar.bat using Command Prompt as Administrator or as a Windows Service, keeps throwing the following warning:
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.
The only info that I've found on the web is some JIRA's from 2010 that don't really help me. I can't create a sonar user on this Windows installation. All my other tools in my CI environment are running on Java 1.8 64-bit, which means that JAVA_HOME is set to JDK 1.8 64-bit. I really don't want to have to run Java 32-bit and the 32-bit Wrapper. That means that the JRE bin/java path at the top of wrapper.conf will have to specify the 32-bit JRE.
What can I do to get rid of this warning?

Not all applications use JAVA_HOME variable, so you can have JAVA_HOME pointing on your 64 bits version while you are using a 32 bits.
Note: the 'Java_Home' key in the registry is not the JAVA_HOME variable.
Well, one way to be sure is to uninstall the current service, with ..\windows-x86-64\UninstallNTService.bat and install the 32 bits version with ..\windows-x86-32\InstallNTService.bat.
If it works, you definitively have a 32 bits JVM.

Installed the service SonarQube in \sonarqube-5.1.2\bin\windows-x86-64.
I just went to the SonarQube in the Windows Services-->go to properties-->Log On tab--->select 'Local Service'(Entered the system password). Thats it!
Issue was resolved.
Hope this helps someone who was not able to resolve from the above posts.

I experienced the same problem with SonarQube 5.6.4 on Windows 7. Editing the sonar.properties file to add a wrapper.java.command=... had no effect. Editing my path statement did the trick, though.
The first two folders in my path statement had been
C:\ProgramData\Oracle\Java\javapath;C:\dev\sdks\jdk1.8.0_112\bin;....
The java.exe in the first (C:\ProgramData\Oracle\Java\javapath) is 32-bit. I just switched the two in my path:
C:\dev\sdks\jdk1.8.0_112\bin;C:\ProgramData\Oracle\Java\javapath;...
Suddenly SonarQube started using the 64-bit java.exe in C:\dev\sdks\jdk1.8.0_112\bin
After making this change, I was able to restart Firefox without any difficulty.

In my case, running on SonarQube 7.3 on window 7 or window 10, I have to update Java version to java 8 to pass this error.

No need for this, In my case I just Installed Java SE JDK 11.0.16 and installed it, and restarted the sonar server and it worked. Below is the URL to download
https://www.techspot.com/downloads/5553-java-jdk.html

Related

How to install OpenJDK 11 on Windows?

In the past, Oracle used to publish an executable installers for Windows that would:
Unpack files
Add registry keys indicating the installed version and path
Add the JRE to the system PATH
Register an uninstaller with Windows.
As of Java 11, the Oracle's free version of Java (Oracle OpenJDK) doesn't seem to include an installer. It is just a zip file containing the binaries.
How are we supposed to install OpenJDK 11 on Windows seeing as the aforementioned integrations are no longer there? Aren't they necessary?
Extract the zip file into a folder, e.g. C:\Program Files\Java\ and it will create a jdk-11 folder (where the bin folder is a direct sub-folder). You may need Administrator privileges to extract the zip file to this location.
Set a PATH:
Select Control Panel and then System.
Click Advanced and then Environment Variables.
Add the location of the bin folder of the JDK installation to the PATH variable in System Variables.
The following is a typical value for the PATH variable: C:\WINDOWS\system32;C:\WINDOWS;"C:\Program Files\Java\jdk-11\bin"
Set JAVA_HOME:
Under System Variables, click New.
Enter the variable name as JAVA_HOME.
Enter the variable value as the installation path of the JDK (without the bin sub-folder).
Click OK.
Click Apply Changes.
Configure the JDK in your IDE (e.g. IntelliJ or Eclipse).
You are set.
To see if it worked, open up the Command Prompt and type java -version and see if it prints your newly installed JDK.
If you want to uninstall - just undo the above steps.
Note: You can also point JAVA_HOME to the folder of your JDK installations and then set the PATH variable to %JAVA_HOME%\bin. So when you want to change the JDK you change only the JAVA_HOME variable and leave PATH as it is.
Java 17 (LTS) and up
For Java 17 and up, you can use the Eclipse Adoptium website. According to their about section, the Eclipse Adoptium project is the continuation of the original AdoptOpenJDK mission.
Java 11 (LTS), Java 8 - 16
For Java 11 (8 through 16), you can use AdoptOpenJDK, a website hosted by the java community. You can find .msi installers for OpenJDK 8 through 16 there, which will perform all the things listed in the question (Unpacking, registry keys, PATH variable updating (and JAVA_HOME), uninstaller...).
Use the Chocolatey packet manager. It's a command-line tool similar to npm. Once you have installed it, use
choco install openjdk --version=11.0
in an elevated command prompt to install OpenJDK 11 (leave out the --version parameter to install the latest version).
To update an installed version to the latest version, type
choco upgrade openjdk
Pretty simple to use and especially helpful to upgrade to the latest version. No manual fiddling with path environment variables.
From the comment by #ZhekaKozlov: ojdkbuild has OpenJDK builds (currently 8 and 11) for Windows (zip and msi).
You can use Amazon Corretto. It is free to use multiplatform, production-ready distribution of the OpenJDK. It comes with long-term support that will include performance enhancements and security fixes. Check the installation instructions here.
You can also check Zulu from Azul.
One more thing I like to highlight here is both Amazon Corretto and Zulu are TCK Compliant. You can see the OpenJDK builds comparison here and here.
For Java 12 onwards, official General-Availability (GA) and Early-Access (EA) Windows 64-bit builds of the OpenJDK (GPL2 + Classpath Exception) from Oracle are available as tar.gz/zip from the JDK website.
If you prefer an installer, there are several distributions. There is a public Google Doc and Blog post by the Java Champions community which lists the best-supported OpenJDK distributions. Currently, these are:
AdoptOpenJDK has been superseded by Adoptium/Temurin (Hotspot) and IBM Semeru (OpenJ9)
Adoptium Temurin
Amazon Corretto
IBM Semeru (with OpenJ9 JVM)
Liberica from Bellsoft
Microsoft Build of OpenJDK
OpenLogic OpenJDK
Red Hat OpenJDK
SAPMachine (backed by SAP)
Zulu Community (backed by Azul Systems)
https://www.openlogic.com/openjdk-downloads allowed me to pick a 32-bit version of OpenJDK8 (don't ask - Arduino IDE doesn't compile with 11), I think they just wrap around AdoptOpenJDK MSIs but I couldn't find 32-bit distros on AdoptOpenJDK.
In addition to the above answers, it is worth noting that you have to move your JDK Path entry to the top of the Path
Here is the complete answer. first of all you have to install the Chocolatey. to install Chocolatey run powershell as administrator and run the following command
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
after this run open cmd as administrator and run this command
choco install -y openjdk11
it will install the openjdk to the following location
C:\Program Files\Eclipse Adoptium\jdk-11.0.16.101-hotspot
finllay set your JAVA_HOME TO
C:\Program Files\Eclipse Adoptium\jdk-11.0.16.101-hotspot
and cheers
WinGet is now available on Windows 10+ to install the Microsoft Build of OpenJDK on your machine. See details and access the downloads page at https://aka.ms/msopenjdk/ where Zip files and instructions.
Scoop installs programs you know and love, from the command line with a minimal amount of friction.
Install scoop
Add java scoop bucket add java
Install OpenJDK scoop.cmd install openjdk17

Installing ADT plugin 16.0.1 on Eclipse Indigo- windows

When I try to install the ADT 16.0.1 plugin on Eclipse Indigo java developer edition release 1 or Helios normal edition release 2, I get the following error:
Cannot complete the install because one or more required items could not be found.
Software currently installed: Shared profile 1.0.0.1316138460759(SharedProfile_epp.package.java 1.0.0.1316138460759)
Missing requirement: Shared profile 1.0.0.1316138460759 (SharedProfile_epp.package.java 1.0.0.1316138460759) requires 'org.maven.ide.eclipse [1.0.100.20110804-1717]' but it could not be found
I've tried to lookup the package it's refering to on apache, JDK reference and android developer reference but no luck!
This's not my first time installing ADT, I already have it installed on Ubuntu and it works. I also had the old release (ADT 15) installed on Eclipse galileo on windows, but I re-installed windows (i'm running windows 7 ultimate by the way) and I can run the old release but it's very good developing with ICS API-s.
So, if anyone could help, it would be highly appreciated.
Lots of people have this type of problem with many different required items missing.
The last time I had this problem it was fixed by going to Window->Preferences
Then selecting Install/Update->Available Software Sites
Make sure everything listed is checked
In my installation I have:
https://dl-ssl.google.com/android/eclipse/
http://download.eclipse.org/releases/indigo
http://download.eclipse.org/eclipse/updates/3.7
You may also need to run Eclipse as an administrator
I was able to install the ADT Plugin only after
I moved the eclipse folder to a location without spaces (e.g.: c:\development\android\eclipse
I ran the Eclipse Update procedure as administrator
Also I am using the 32bit version even though I use windows7 64bit.
you just need to run as administrator
run Eclipse with compatibility mode winXP pack 2 and Run as Administrator.
You can find it by Right clicking Eclipse.exe > Properties > Compatibility Tab

Why is java (32-bit) JDK installer not copying rt.jar file to JRE directory? (Windows 2008 R2 SP1)

The system is using Windows Server 2008 R2 SP1, Tomcat 5.5.28, and Java SE 6 Update 20 for both JDK and JRE.
I updated the system to the latest JDK update, Java SE 6 Update 27, and let it install using defaults; it created a new directory, jdk1.6.0_27, and overwrote the jre directory. It asked to restart and then I noticed Tomcat would not start. I ran the java -version from the jre directory and it outputted
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
I discovered the directory was missing the rt.jar file; I pasted it from the jdk1.6.0_27/jre/bin directory and java -version worked and Tomcat started. My question is why is this error occurring in the first place??? Is it the Java installer?
I ran the Java Automatic update feature (which only updates JRE, not JDK) and it worked without a hiccup. So, why is the Java installer from Oracle.com not updating the JRE directory properly?
Thank you in advance.
I think that's the case all Windows installers have this obligatory phrase:
Please close all running programs before you continue with installation
I think something was holding the old rt.jar and installer has a bug that cannot cope with this condition.

"JRE 1.3 or higher must be installed!" / "JDK 1.3 or higher must be installed!" errors installing JAI 1.1.3 on Windows 7 (x64)

I am getting these errors...
Severe: JRE 1.3 or higher must be installed!
Severe: JDK 1.3 or higher must be installed!
...when installing JAI (Java Advanced Imaging) 1.1.3 on Windows 7 (x64), with JRE 7 (1.7) installed at "C:\Program Files\Java\jre7" and JDK 7 (1.7) installed at "C:\Program Files\Java\jdk1.7.0".
Following http://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html#Windows, specifically this is what I did:
Visited:
http://download.java.net/media/jai/builds/release/
http://download.java.net/media/jai/builds/release/1_1_3/ (latest version)
Downloaded:
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-windows-i586-jdk.exe
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-windows-i586-jre.exe
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-windows-i586.exe
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-windows-i586.jar.zip
EDIT (QUESTION): It would be great if someone could break down the difference between these files. The instructions at http://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html#Windows do not go into enough detail and assume you already know what's what.
EDIT: As noted in the comments below, the .exe are exclusive installs, but I wished to install them to all three locations (to "C:\Program Files (x86)\Sun Microsystems\Java Advanced Imaging 1.1.3" as well as to my JDK and JRE locations), as I was not sure which I would need at my work as a Java developer. As far as I know, I just need to install the JDK version, and the .zip is a manual install of the same thing. I am not sure though! Unverified.
Installed:
jai-1_1_3-lib-windows-i586.exe (installed fine)
jai-1_1_3-lib-windows-i586-jre.exe <---- this is what causes one of the errors.
jai-1_1_3-lib-windows-i586-jdk.exe <---- this is what causes one of the errors.
The errors appear to be the same issue of not finding where Java (JRE and JDK) is installed.
I have the following environment variables set:
JAVA_HOME = C:\Program Files\Java\jdk1.7.0
Path = ...;C:\Program Files\Java\jdk1.7.0\bin
EDIT: This makes me think the problem is something deeper than environment variables, as there's no environment variables for JRE like there is for JDK (i.e., JAVA_HOME), right?
Fixes I have tried (to no avail):
Re-installing*.
Re-downloading and re-installing*.
Adding "C:\Program Files\Java\jre7\bin" to "Path" and re-installing*.
Adding "C:\Program Files\Java\jre7" to "Path", without removing the above Path addition, and re-installing*.
Adding "C:\PROGRA~1\Java\jre7" to "Path", and verified it was the proper folder, and re-installing*.
Changing JAVA_HOME from "C:\Program Files\Java\jdk1.7.0" to "C:\PROGRA~1\Java\JDK17~1.0", and verified it properly forwards back to the original folder in Windows, and re-installing*.
Re-installing Java to a non-space folder, "C:\xxx\xxx\jdk1.7.0", where the x's are letters not spaces, and verified it works properly with "java -version" command line, and re-installing**.
*Downloading and installing jai-1_1_3-lib-windows-i586-jre.exe
**Downloading and installing jai-1_1_3-lib-windows-i586-jdk.exe
None of this worked. :(
I have not tried:
Using an older JRE than 7 (1.7)
Any help would be great.
POSSIBLE (HACK) SOLUTION: What about manual installation? It's what we've opted to do at work. Is it possible to figure out what files are installed (without installing it since I cannot)?
EDIT: I have also verified that "JAI (Java Advanced Imaging) Image I/O" has the same problems on my system.
JAI is only available on 32bit (x86) JRE, so you need to install the 32 bit JRE on Windows 7.
JAI uses some native implementations (dlls) in order to accelerate the processing, so only installs on a 32bit JRE.
When installing JAI, it tries to detect the installed JRE and should be a 32bit JRE. You can install 32bit JRE on a Windows 7 x64, the only "difference" is the performance and the maximum memory available to java applications.
Install JAva 7 JRE 32bit from http://www.oracle.com/technetwork/java/javase/downloads/java-se-jre-7-download-432155.html select "Windows x86 Offline".
Another way is manual installation from JAI as zip, use jai-1_1_3-lib-windows-i586.jar.zip and execute from the 32bit JRE.
install a JRE version 1.3 or later? (and make sure that your PATH points to it)
[edit]
Are you sure there's a problem? It seems that 3 files you downloaded are mutually exclusive (that's what I got from reading the installation instructions)
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-windows-i586-jdk.exe
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-windows-i586-jre.exe
http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-windows-i586.exe
Installing -jre or -jdk may be redundant
I installed the jre version and it asked me for a jre directory - any of that happen to you?
[/edit]
try to install (reinstall) java (jre) in folder without any spaces. For example C:\Java\jre7.
You must install 32-bit version of jdk
I solved this problem by installing 32-bit version of jdk.
My OS is window 8 64-bit.
when installing jai-1_1_3-lib-windows-i586-jdk.exe and jai_imageio-1_1-lib-windows-i586-jdk.exe with double clicks, i got the same error "Severe: JRE 1.3 or higher must be installed!"
then I downloaded jdk-7u21-windows-i586.exe and installed it in "c:\Program Files (x86)\Java".
and then it's OK.

Oracle Lite 10g installer not detecting JDK on my mahine

I have a Windows 7 64-bit system, on which I have installed Java JDK 7 6-bit version ... Its installed in its default directory:
C:\Program Files\Java\jdk1.7.0\bin
I have also set the JAVA_HOME Environment variable to C:\Program Files\Java\jdk1.7.0 in System Settings .. But still even now, during installation of Oracle Lite 10g, I get the error:
JDK is not installed on machine
What could be the problem now ?!?
EDIT:
I have also now added C:\Program Files\Java\jdk1.7.0 to the end of the PATH variable, and still the same result !
EDIT 2:
Completely removed ALL traces of Java from my system .. Uninstalled all Java things ! Used JavaRa to confirm everything is removed ! Removed any folders which are Java related ! Restarted system ! Reinstalled JDK 7 x64 version with a fresh downloaded copy ! Tried installing Oracle 10g Lite now after setting the above environment variable (now set it as a system variable), and STILL THE DAMN ERROR IS STILL THERE ! :(
This is not a supported configuration. You need to switch to a more current oracle release.
Try the following:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit]
"CurrentVersion"="1.7"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit\1.7]
"JavaHome"="C:\\Program Files\\Java\\jdk1.7.0_67"
"MicroVersion"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit\1.7.0_67]
"JavaHome"="C:\\Program Files\\Java\\jdk1.7.0_67"
"MicroVersion"="0"
Of course this may vary depending on the version of the Java Development Kit. Copy what is located at HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit in your registry to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit.

Resources