Related
I don't know java so, forgive me for this simple question. So in windows by default jre file is installed, and its outdated(for me). I found that: " jre is the runtime portion of Java software, which is all you need to run it in your Web browser". But I don't understand that "...which is all you need to run it in your Web browser So do we really need jre in our windows, and if we don't why is it installed by default?
I just wasted one morning trying to get SQL developer to work on my current setup:
OS: Windows 8.1 virtual machine running on mac via Parallels.
No oracle client or instant client installed
No Java installed
The reproducible steps are
I downloaded SQL Developer for Windows with JDK (all 64-bit) and unzipped it to C:/Program Files/.
I double clicked on C:/Program Files/sqldeveloper/sqldeveloper.exe
I get the following message:
Unable to launch the Java Virtual Machine
Located at path:
C:/Program Files/sqldeveloper/jdk/jre/bin/server/jvm.dll
Can someone please help me? I also tried first installing Java 1.8 (64 bit) and then the SQL developer version without Java. This doesn't work either. When I select the location of the JDK home, it also sent one error message saying that it couldn't find any JVMs where I said. To add insult to injury, every time I follow this procedure, the Panda antivirus tells me that sqldeveloper is infected, deletes the file and encourages me to restart.
Can someone please help me? I would mostly appreciate.
Thank you very much in advance
I had the same problem and solved it by copying the MSVCR100.dll file from sqldeveloper\jdk\jre\bin to the sqldeveloper\sqldeveloper\bin folder.
Credit goes to Erik Anderson from SQL Developer failed to start
Note that different versions of SQL Developer need different versions of MSVCR*.dll. Various comments below have offered which versions worked for them.
Create directory bin in
D:\sqldeveloper\jdk\
Copy
msvcr100.dll
from
D:\sqldeveloper\jdk\jre\bin
to
D:\sqldeveloper\jdk\bin
I had a similar issue when opening the sql developer it gave me the below error
Unable to launch the Java Virtual Machine due to missing file MSVCR100.DLL
I was using JDK 8 and windows 64 bit version. Also I downloaded the oracle sql developer software with no jdk/jre option since I already have jdk 8 installed in my system. While double clicking the sqldeveloper.exe file, it asked me to input the path of the JDK. I gave the path and then it gave me the JVM MSVCR100.DLL error.
I checked inside the C:\Program Files\Java\jdk1.8.0_271\jre\bin and couldnt find the MSVCR100.DLL file there.
Then after searching the microsoft forum, understood this dll is part of the 64Bit: Microsoft Visual C++ 2010 SP1 Redistributable Package (x64).
After installing the above microsoft package I am able to find the dll under C:\Windows\System32
Then did the below,
Copied the C:\Windows\System32\msvcr100.dll --> C:\Program Files\Java\jdk1.8.0_271\jre\bin
This resolved the error and I was able to open up the Oracle SQL developer when it found the right dll.
If folder sqldeveloper/jdk doesn't contain folder bin,
you can copy folder bin from folder sqldeveloper/jdk/jre into sqldeveloper/jdk.
Depending on the issue, whether it's JAVA home path not correctly set or missing msvcr100.dll file, follow the below methods to rectify the problem:
1. Issue with JAVA home path not correctly set:
Follow these steps:
Go to directory where SQL Developer is installed.
Open the /bin directory.
Open sqldeveloper.conf in any editor to edit.
Remove the complete line starting with "SetJavaHome"
If you see: SetJavaHome ../../jdk, this is probably the wrong config file.
Instead, for try something like: C:\Users\${username}\AppData\Roaming\sqldeveloper\4.2.0\product.conf
Or: C:\Users\${username}\Application Data\sqldeveloper\4.2.0\product.conf
Save and close the file
Start SQL Developer again.
Provide the JAVA_HOME path, e.g., C:\Program Files (x86)\Java\jdk1.8.0_92
Important: Do not include suffix \bin\java.exe
Important: If running 32-bit SQL Developer, be sure to use a 32-bit JVM. (Same for 64-bit.)
2. Issue with missing msvcr100.dll file:
OP stated the following in his comments below:
If I first install the jdk and then sql developer without Java, it
tells me Unable to launch the Java Virtual Machine Located at path:
C:/Program Files/Java/jdk1.8.0_45/bin/msvcr100.dll
So, the error message is clear:
Unable to launch the Java Virtual Machine Located at path:
C:/Program Files/Java/jdk1.8.0_45/bin/msvcr100.dll
Follow these steps:
copy:
MSVCR100.dll
from:
sqldeveloper\jdk\jre\bin
to:
sqldeveloper\sqldeveloper\bin
And relaunch SQL Developer again.
What is msvcr100.dll file?:
msvcr100.dll is a part of Microsoft Visual C++ and is required to run programs developed with Visual C++. Some applications like SQL Developer in the question, needs the file in the SQL Developer installation folder.
What options are available to fix the issue?:
Copying it from Windows systemfolder to the installation folder of application should fix the problem. Also, you could add the PATH to the msvcr100.dll file based on 32/64 bit requirements. If the local file itself is deleted or corrupt by any chance, then it could be downloaded online or could also be reinstalled via Microsoft visual C++ 2010 Redistributable package. It is important to use the correct version based on the software. Use the 32bit dll file for 32bit software, and 64bit dll file for 64bit software.
I run into the same error message when trying to install SQL Developer from "Windows 64-bit with JDK 8 included" zip file in my Windows 10 Enterprise.
Launching the most recent SQL Developer version 4.1.3 in Windows 10 shows an error:
Unable to launch the Java Virtual Machine Located at path:
C:\Users\<USER>\Downloads\sqldeveloper-4.1.3.20.78-x64\sqldeveloper\jdk\jre\bin\server\jvm.dll
The path exists and is valid.
The same zip file works on Windows 7 Professional.
The problem was a missing msvcr100.dll.
I simply copied C:\Program Files\Oracle\VirtualBox\msvrc100.dll to C:\Users\<USER>\Downloads\sqldeveloper-4.1.3.20.78-x64\sqldeveloper\sqldeveloper\bin\ and SQL Developer started to work.
The details can be found from Issue running SQL Developer x64 4.1.3 with JDK.
Funny that Oracle VirtualBox team can include the dll into the installation package but Oracle SQL Developer team can't.
Today I try to use oracle client 64 and failed connect Connection Identifier which is defined at tnsnames.ora file. I assume that try to connect Oracle 32 Bit Server using SQL Developer 64 bit. That is why I install new jdk x86 and trying to change jdk path but this error happened:
Trying to download SQL Developer 32 Bit, but at the site said that the bundle support both 32 bit and 64 bit depend on java installed.
Windows 32-bit/64-bit: This archive. will work on a 32 or 64 bit
Windows OS. The bit level of the JDK you install will determine if it
runs as a 32 or 64 bit application. This download does not include the
required Oracle Java JDK. You will need to install it if it's not
already on your machine.
My java home is 64 bit. New installed 32 bit jdk is not set at java home.
I need to open $User_dir\AppData\Roaming\sqldeveloper\version\product.conf
Remove line SetJavaHome C:\Program Files\Java\jdk1.8.0_201
Start sqldeveloper.exe instead of sqldeveloper64W.exe
New popup will shown and choose java home to new jdk version (32 bit mine) :
C:\Program Files (x86)\Java\jdk1.8.0_201
My fault, I pin sqldeveloper64W.exe to taskbar, why that error occured then after I move cursor and it was sqldeveloper64W.exe, I try to click sqldeveloper.exe, then I found that my setting is goes well.
So check it maybe it was happened on your system too. If sqldeveloper.exe does not working, try to choose sqldeveloper64W.exe.
Now I can call my Connection Identifier which is defined at tnsnames.ora using new setting SQL developer 32 bit mode.
This is because sqldeveloper.conf has an entry for the java home being used
look at this solution
I have followed the steps and it worked just fine.
1) Open the file present at : \sqldeveloper-3.2.20.09.87\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf and delete the line with setJavaHome xxx .
2) Click on Sqldeveloper.exe now and browse for the java.exe present in \sqldeveloper-3.2.20.09.87\sqldeveloper\jdk\jre\bin
3) This should launch SqlDeveloper now.
Thanks.
For Windows Users: If anyone downloaded a non-jre version and faced issue, then later trying with the JRE version and still facing the issue, you need to delete SQLDeveloper folder inside "%AppData%\sqldeveloper". After deleting try opening sqldeveloper.exe again.
This looks like you might not have enough memory allocated to your Windows VM. If the JVM is configured to use more (maximum) memory than is available then you'll get this sort of error message.
You can read more about SQL Developer's memory at (that) Jeff Smith's blog.
The default settings still seem to be -Xms128m -Xmx800m. I can generate a similar error by setting -Xmx to be large than the physical RAM in my (physical) PC. So with the default settings, you will have problems if you don't have 800m of memory allocated to Windows. That doesn't seem like much, but it seems to be in the recommended window based on this knowledgebase article.
While you could attempt to reduce the JVM requirements in your product.conf file that will likely lead to other issues later, if it works at all. So increase your Windows VM memory allocation, reboot, and try to launch SQL Developer again.
Create directory "bin" in
D:\sqldeveloper\jdk\
Copy
msvcr100.dll
from
D:\sqldeveloper\jdk\jre\bin
to
D:\sqldeveloper\jdk\bin
I know that people may frown on a youtube example but this worked for me and I was getting the same issue
https://www.youtube.com/watch?v=ex1dyu0Px8U
It will direct you to add the correct Environmental Variables for the JDK.
System Properties>Advanced>Environment Variables>Path>
\sqldeveloper\jdk\bin
AND
\sqldeveloper\jdk\bin\server
I had the same problem:
The point here is to point on the java.exe binary under Oracle client installation and not the JDK installation under Program Files.
Installing jdk1.8.0_211 and setting the below variable in product.conf (located in C:\Users\\AppData\Roaming\sqldeveloper\19.1.0) to JDK8 home worked for me
SetJavaHome D:\jdk1.8.0_211
I was trying to use the sqldeveloper that comes with the Oracle installation under:
C:\oracle\product\11.2.0\dbhome_1\sqldeveloper
I tried most of the suggestions in this post to no avail, so I downloaded the one from oracle's download page (you must register) which asks for the location of the jdk folder (rather than the location of java.exe). This worked for me without any problems.
I couldn't find the file in C:\Program Files\Java\jdk1.8.0_261\jre\bin. My sqldeveloper came without jre at all so what it worked for me was copying the file from an older Oracle jre release to C:\Program Files\Java\jdk1.8.0_261\jre\bin.
Step 1, go to C:\Users<you>\AppData\Roaming, delete the whole folder [sqldeveloper]
Step 2, click on your shortcut sqldeveloper to start Sql developer
Step 3, the window will popup again to ask for a JRE location, choose a suitable one.
If it still doesn't work, execute again from step 1 to 3, remember to change JRE location every time until it works.
I've been working on Aptana Studio and some JRE required software for a bit of time now , but since yesterday something quite odd happened, as suddenly the software that requires it threw me an error No Java virtual machine was found . Last thing I did before that was restoring my system files permissions thought safe mode as I had some trouble with that , could this have anything to do with it ?
I've tried installing JRE once again , no results. However when I run
/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
I do get the following
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
Aptana gives me the following error
No Java virtual machine
was found after searching the following locations:
/Applications/Aptana Studio 3/AptanaStudio3.app/Contents/MacOS/jre/bin/java
java in your current PATH
And other software such as Spine won't simply start.
My .bash_profile is the following :
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"
PATH="/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin:${PAT$
export PATH
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
The output of echo $PATHis the following
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin
The output of echo $JAVA_HOME is the following
/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
And Java invocations on the terminal work.
Guidance will be highly appreciated.
After trying Peter's suggestion the problem persisted but now in another context : "/System/Library/Frameworks/JavaVM.framework" does not contain the JNI_CreateJavaVM symbol"
After struggling for many hours, and reading about people with the same issue opting to re-install the entire OS , decided to examine the issue from another perspective, the thing I first mentioned here that I believe went unnoticed was that I restored my permissions before this happening, so what I did was the following.
After reading a bunch of articles about Apple no longer providing Java support themselves but Oracle providing it, reasoned through it and realized that perhaps paths (Often called directories) from Apple's final Java release may have not been strictly the same as the new Oracle releases, so decided to wipe out all recent Oracle Java Runtime Environment that I found on /Library/Java/JavaVirtualMachines and delete the Java Applet Plugin from /Applications (Just search for it on your /Applications path) .
Installed Apple's last stable release from the following link.
Located where Apple located their Java releases : /System/Library/Frameworks/
My particular interest was the Java Runtime Environment , so I explored the JavaVM directory on /System/Library/Frameworks/
Found out that all Apple's JRE previous releases reside on a directory called Versions that is within /System/Library/Frameworks/JavaVM.framework directory, here's where I noticed something rare, for some reason at the moment I restored file permissions from my Disk Utility Application , this directory was made inaccessible (By not giving the root user permissions to access anything in itself).
Went to my terminal console and inside the JavaVM.framework directory modified the permissions to that directory to be accessible for all users by running the following command chmod -R 777 Versions.
After executing these actions I went straight to my JRE-Required software and attempted to open it , success!
Things to learn from the issue.
Oracle's Java JDK/JRE are located in different paths from Apple's. (If you are struggling with some other issue, verify your Java version to determine your Java installation directory)
Apple's disk utility application might define different permissions than expected for some files. (After restoring permissions verify that everything's working fine, if not this may be the cause of your problems.)
Looks like AptanaStudio (Eclisebased right?) assumes that you have a JRE inside the Aptana directory (/Applications/Aptana Studio 3/AptanaStudio3.app/Contents/MacOS/jre/bin/java)
I assume that there is nothing there. Simplest way would be to symlink your existing JRE installation to that directory:
ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/jre /Applications/Aptana\ Studio\ 3/AptanaStudio3.app/Contents/MacOS/jre
Or you could start Aptana from the terminal and specify the path to java with -vm:
./aptana -vm "/path/to/java/bin/directory"
Environment variables that must be available to GUI applications are a bit tricky in OsX (at least in my experience).
It is possible to set global PATH (and other variables) in /etc/launchd.conf, see for example here and /etc/paths.d see here.
Simple Solution
For Windows:
1.download the JAVA runtime environment x86(32bit) version else you will get an error with dll file from here http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Extract the folder out of the .tar file you downloaded.
Rename the JRE folder to "jre"
Then paste it in to this directory
C:\Users\"User Name"\AppData\Roaming\Appcelerator\Aptana Studio
This worked for me
I uninstalled all my Java JREs and JDK for Windows 10. Then I downloaded Aptana again and let it install Java for me. I think JAVA 8 was my problem, but this worked and I can still install the other versions again.
I have searched high and low trying to figure out how to get this stupid thing working. I downloaded, and ran, the Windows installer for JMF and set both my PATH and CLASSPATH environmental variables to the following:
Note this is under User Variables for Admin (My user account name), not System Variables.
CLASSPATH
C:\Program Files (x86)\JMF2.1.1e\lib\jmf.jar;C:\Program Files (x86)\JMF2.1.1e\lib\sound.jar;.;%CLASSPATH%
PATH
C:\Program Files (x86)\JMF2.1.1e\lib;%PATH%
However, whenever I go to use the JMFDiagnostic Tool Applet on the Oracle website, it also crashes with an error about me not having the right class. Additionally, when I go into NetBeans 7.3 and try to import one of the packages, it says it does not exist.
Can anyone help a brother out!? I've blown way to much time working on this!
Try to unistall JMF and reinstall it in C:\JMF2.1.1e\
Here full steps to install JMF on Win 7 :
https://forums.oracle.com/forums/thread.jspa?threadID=2132405
NB : When finish unistalling JMF, don't forget to delete the environment variable named CLASSPATH in user variables (if it does not removed automatically).
if you have 64 bit JDK, it wont work. bcz JMF is only available for 32 bit platform. So you need to install 32bit JDK as well. (and to avoid JDK configuration issues, better uninstall the 64bit JDK)
If a java program using JMF working in Windows XP and not working in Windows 7, here is the solution:
Install JMF on your Windows 7 PC normally. Suppose your JMF installation dir is : C:\Program Files\JMF2.1.1e.
Create a file C:\WINDOWS\java.jmfdir, open .jmfdir file and write following line in this file
C:\PROGRA~1\JMF21~1.1E\lib
Gurmeet Singh
correction : C:\WINDOWS\java\jmfdir and not C:\WINDOWS\java.jmfdir
......... so you must create manual the java Directory in Windows Directory and then create manual the jmfdir file in Java directory and then write in jmfdir file this Path :
C:\PROGRA~1\JMF21~1.1E\lib
I have already spent a long time to load and test my application, now I need to profile it. But unluckily, the VisualVM always says "not supported for this JVM" on my local applications?
The applications were started on the same JVM with VisualVM.
I found out that (at least under Windows) one can easily write small batch files to run VisualVM in combination with specific JVMs, which is important for me, since I have installed the 32bit JDK alongside with the 64bit JDK (I need both, so this is sensible for me).
I have created two batch files in the folder "S:\applications\visualvm\bin\":
run_32.bat:
#echo off
START "VisualVM 32" visualvm.exe --jdkhome "C:\Program Files (x86)\Java\jdk1.7.0_07"
run_64.bat:
#echo off
START "VisualVM 64" visualvm.exe --jdkhome "C:\Program Files\Java\jdk1.7.0_07"
Obviously, all paths may differ on your system, but the general idea should still work correctly (on all 64bit versions of Windows). The benefit is that I can use the 32bit batch file when I want to use VisualVM in combination with Java applications that run on the 32bit JVM, and so on for 64bit.
The "start" command has the only benefit that the batch file launches the application without waiting for it to finish, so the command prompt window closes immediately. This is not a feature of VisualVM, but of the Windows batch file interpreter.
In my case, even with the JVMs matching (both 64-Bit), the only way to get things working was sending the argument -Dcom.sun.management.jmxremote to the JVM to be monitored. That also works if you are having problems to connect via Java Mission Control (JMC).
According to JMX's documentation, this what the argument does:
Setting this property registered the Java VM platform's MBeans and published the Remote Method Invocation (RMI) connector via a private interface to allow JMX client applications to monitor a local Java platform, that is, a Java VM running on the same machine as the JMX client.
This was supposed to be enabled automatically, but for some reason it wasn't on my Linux.
VisualVM needs to be run with the same JVM - at least Java 6 with the same 32-bit/64-bit size - as the program to be profiled. (You also need to be the same user, but then this message does not apply).
I would be triple-check that it was the exact same JVM in your situation.
On Linux:
Make sure that your /etc/hosts correctly references the effective ip address of your "hostname"
It appears that a discrepancy here totally confuses the poor jvisualvm and its programmers.
I too got the same problem for local tomcat, I search for solutions for stackoverflow. after some serious debugging, I figured out that VisualGC don't have permissions to get GC informations from tool.jar file.
by links
http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstatd.html#SECURITY
https://stackoverflow.com/a/42107355/3876619
I following steps to solve the issue
1) Create a permission file
vim /tmp/tools.policy
Add
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
save it
2) Now add /tmp/tools.policy to JVM startup parameters
-Djava.security.policy=/tmp/tools.policy
3) Run jvisualVm with sudo
An issue that I just found, thanks to the hint from #user3356656, is that if you start the program while your machine is on one IP, and then try to connect while it is on a different IP, it will fail.
I also met this issue. My case is that on linux, I started tomcat with tomcat_user but I run jvisualvm with root user. It works after I start tomcat with root user.
I was having the problem having of visualvm detect my local tomcat installation on Windows 7. I could connect manually, but then things like memory snapshots and visualgc plugin were not enabled. I confirmed that I was using same JVM version, temp file permissions, etc. Didn't work. Then I found that starting visualvm first, and then tomcat, solved the problem.
As you can see, you are running VisualVM on 32bit JVM
You don't need to unistall 32bit JVM. Just tell VisualVM to use tour 64bit JVM.
If you want to change it permanently, you can edit
in visualvm_13\etc\visualvm.conf and specify the path of jvm here
My problem was JVM optimizations - -XX:+PerfDisableSharedMem flag will break VisualGC. This is apparent if jps will not show your app in the listing.
I can reproduce next behaviour.
I have a java application with right-click menu item to open jvisualvm.
I'm running this java application as standalone setup from a bat file.
It means I modify %path% and other needed environment variables like JDK
accordingly to form my environment.
The BAT that starts application is marked running as non-admin. Environment points to a 64-bit JDK.
Then I start other java application as admin. VM lives from the to same 64-bit JDK-source.
Then I start jvisualvm from first app with the right click ie.as non-admin.
I can see the app in jvisualvm ‘Applications list’ but clickin ‘System properties’ gives error. Message is “Not supported for this JVM”.
JVM arguments are exposed.
Solution is like in some other previous comments:
Starting my right-click jvisualvm-starter as admin I can see also "system properties" .
Certainly if JDKs would be 32-bit and other 64-bit it would not work. been there.
I thought this notion needs to be added here.
In my case, the application was running with admin permissions. So, visualVM also need to be running as admin.
I have changed name to my Windows User and set it all lowercase, restarted my PC and it all works now.
For me, the reason is that I have run the "jstatd" with a different user with the JVM process. I have a special user in the linux to start the JVM thread(it is a tomcat), but I start the jstatd process with root. If you use root to run jps, you cannot see any information of the JVM threads belonging to other users. That is the trouble.
I killed the "jstatd" process started by root, su to the owner of the JVM process, and restart the "jstatd" process and everything wokrs fine now.