Tomcat not starting with 64bit java - java

I am using Windows 7 and have recently installed Eclipse Helios(64bit).
I was controlling a local installation of Tomcat7 from my Eclipse install, and Eclipse and tomcat were starting correctly. However, I was getting some errors with the M2Eclipse plugin and realise the JDK I was using was not 64bit, so updated my JDK to the 64 bit.
Unfortunately, since updating the JDK to 64bit my tomcat will no longer start, and instead I get the following error in my stack trace:
02-May-2011 21:02:38 org.apache.catalina.startup.Bootstrap initClassLoaders
SEVERE: Class loader creation threw exception
java.lang.NoSuchFieldError: threadAllocatedMemorySupport
at sun.management.VMManagementImpl.initOptionalSupportFields(Native Method)
at sun.management.VMManagementImpl.<clinit>(VMManagementImpl.java:47)
at sun.management.ManagementFactory.<clinit>(ManagementFactory.java:468)
at java.lang.management.ManagementFactory.getPlatformMBeanServer(ManagementFactory.java:504)
at org.apache.catalina.startup.Bootstrap.createClassLoader(Bootstrap.java:184)
at org.apache.catalina.startup.Bootstrap.initClassLoaders(Bootstrap.java:97)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:208)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:406)
Has any one else come across this or know what the issue might be?
---------------EDIT------------------------
Furthemore, I have started the local tomcat using startup.bat and it started fine, but then when trying to access the manager I get a java.lang.outOfMemoryError permgen Space error (whihc i wasnt getting before- was all running ok before the jdk upgrade)

Ok, I have found the problem
The guys above were on the right lines in terms of investigating the JDK version being used was correct.
What had happened was, although I had updated Eclipse prefs to use the 64bitJDK, the JRE system libraries were still pointing to the old JDK - I have never come across this before, and pretty sure that when I have updated the JDK before it has automatically refreshed the JRE library list as well. I then removed all the JRE system libraries from the list and refreshed and it then re-populated with the libraries from the 64bit jdk

Maybe the wrong tcnative is installed? Get rid of it from bin directory and see what happens

Related

Installing eclipse 2020-03, jdk 1.8, spring3 on macbook m1

I'm relatively new to mac os, java, eclipse,, simply everything, and all the changes that are being made due to the revolutionary apple silicon is driving me crazy.
My co-workers and I are working on a java project based on Eclipse 2020-03, jdk 1.8, spring 3. and I'm having trouble installing the environment on my Macbook M1.
First, I've tried installing the open jdk1.8 and have managed to set the PATH in .zshrc
Then I installed Eclipse 2020-03 and opened it using rosetta when it immediately crashed on me. It wouldn't even ask what workspace to open.
So I tried installing the new Eclipse 2022-06 (arm) and set jdk to 1.8. Eclipse worked fine until I tried making a new Spring MVC project when it gave me java.lang.exceptionininitializererror. I've searched for solutions to this error and only found 'upgrade your jdk' suggestions.
I decided to lower Eclipse version to 2021-12 (arm, because its the first arm supported), and install jdk11 + set Path in .zshrc (commented out jdk1.8 path). I still get java.lang.exceptionininitializererror when I try to create new spring legacy project.
tried:
Option 1. Eclipse 2020-03 (macOS x86_64) + jdk1.8 -> eclipse wont open
Option 2. Eclipse 2022-06 (AArch64) + jdk1.8 -> java.lang.exceptionininitializererror when creating spring project
Option 3. Eclipse 2021-12 (AArch64) + jdk11 -> java.lang.exceptionininitializererror when creating spring project
with option 3 above, I could open spring-mvc-project set in a different PC and worked fine. but I still want to have my problem solved.
I've thought over and came up with three ways to get these problems sorted:
Have exactly same Eclipse, jdk, spring version with my co-workers (option 1), try fixing start-eclipse problems.
-> slow since im using rosetta but i wont have compatibility problems with my co-workers
use most recent Eclipse, jdk, spring3
-> fast and have less problems but I assume I'll have tons of compatibility problems
use relatively old but apple silicon-supported Eclipse(Option 3), jdk 11
-> fast, have some compatibility problems (if I solve 'java.lang.exceptionininitializererror' problem)
My questions are:
Of the three ways listed above, which would you suggest me try?
How can I solve the problem I face when trying that particular way?
Additionl:
I couldn't find any related error on terminal, but I found this on my error log
Additions2:
I decided to install the relatively new Eclipse(2022-03), using jdk11. so far its working fine, without any compatibility issues
Unfortunately, it seems that Eclipse Adoptium / Temurin pointed to by rzwitserloot's answer either never had a JDK8 for MacOS aarch64, or has removed it. They have JDK11 and higher, but that's not what this question is about.
Eventually, I found that Azul offers a version of OpenJDK 8 compiled for MacOS ARM64 (Apple Silicon):
https://www.azul.com/downloads/?version=java-8-lts&os=macos&architecture=arm-64-bit&package=jdk
I have installed it and it seems to work fine.
java -version
openjdk version "1.8.0_345"
OpenJDK Runtime Environment (Zulu 8.64.0.19-CA-macos-aarch64) (build 1.8.0_345-b01)
OpenJDK 64-Bit Server VM (Zulu 8.64.0.19-CA-macos-aarch64) (build 25.345-b01, mixed mode)
You can get ARM mac versions of all JDKs including JDK8 from Adoptium.
Eclipse is highly backwards compatible. There is no sensible reason to use anything but the most recent stable release.
Eclipse itself runs on a JVM. There is no need for this JVM to be what your project standardized on, because any project in eclipse can be configured to run on whatever JVM you want. Thus, if it sounds like you need a newer JVM version to run eclipse on, just do that. It doesn't matter if your project won't run on that.
More generally getting an ExceptionInInitializerError is a wrapper exception. The real cause is inside it. Inspect the traces somewhat more rigorously; start eclipse from the command line (open a terminal, then run /path/to/Eclipse.app/Contents/MacOS/eclipse - now you can see the terminal output, that might help. "ExceptionInInitializerError" says almost nothing and has a billion causes. You want the exception that caused that, that'll be much more specific. It's somewhat unlikely to be related to running on an M1; very little stuff in the java ecosystem cares one iota about what chips you run it on.
More generally if rosetta is involved you're doing it wrong, there is no need for this. Everything relevant (which is really just the JVM, everything else runs on top of that) is available native.

Unable to install Java on Windows 10 (1603 Error)

I tried to download Java on my laptop (which has windows 10) but i keep getting a 1603 error. My computer used to have windows 8.1 and it did not work back then either
I appreciate any advice to solve or work around this problem
I have had this problem. I was able to fix it thanks to a co-worker. The problem started happening after I installed HP Unified Functional Testing (UFT, aka QTP). Installing this product changes the Windows environment variables used by Java. He told me the following: "So change the names of JAVA_OPTIONS, IBM_JAVA_OPTIONS, JAVA_TOOL_OPTIONS to something else (both in system and user variables) and delete any Java folder(in Program Files (x86) or Program Files) which gets installed despite the error. Restart the system and then try installing Java."
Actually, all I did was rename the environment variables and run the installer. This worked.
My answer is not related to win 10, but might help someone who is having similar problem in windows 7 machine and not able to install jre 32 bit version.
the work around to this is once you downloaded the jre, copy the path "C:\Program Files (x86)\Java\jre1.8.0_121\bin\javaw.exe" and paste it under java runtime environment settings which is found -Java Control panel>java>view
I think you downloaded the wrong version. If your laptop support x64 bit software you should download Java 1.8 x64 version.
Here is the link.
https://www.java.com/en/download/manual.jsp
I had this problem for a month now. I tried everything on my windows 8, but I couldn't get the latest java on it. When I tried to install java on an empty computer, the 64 bit version did not go through (error 1603) and I realized the problem didn't come from an old java install and I install 32 bit. it worked on the new computer with windows 7 and on my computer running 8.1.
note: I had deleted all the java versions before going through with it.
To fix java 1603 error you have to follow few simple steps.
First of all remove all old java version.
Then remove some windows update file which might be reason of this
error. Like KB2918614 update.
After that download and Install latest version of java and activate
java in browser. Now everything will be fine you can test the java
version on java website...
For explained and easy solution to java 1603 error follow this link: http://protechguides.com/java-error-code-1603-solved/
I encountered this error on Windows 8.1 and when I checked with Oracle web site, they said that is is not yet resolved, and under investigation. They also showed a link for off-line installation as an alternative arrangement. However, upon investigation of my system, i found out that the available space in C drive was only about 20 MB or so. I cleared my system and provided enough space. When I tried with the extra space, I didn't encounter any error. May be, you could try with a better free space...
First you should close the browser because if any webpage will use Java, it will cause conflict. Then do custom installation, i.e. install in some other folder other than default folder and point environment variable to newly installed Java location. It will resolve your issue.

JetBrains IntelliJ Error launching Intellij Platform - Error invoking main method

I have IntelliJ IDEA and other JetBrains products installed and they worked great (PyCharm, Android Studio, Clion, WebStorm) till today, now I just get opening message:
Error launching Intellij Platform - Error invoking main method
I have installed:
C:\Program Files\Java\jdk1.8.0_25
C:\Program Files\Java\jre1.8.0_25
and JAVA_HOME is pointing to jdk.
I posted at: https://devnet.jetbrains.com/message/5533036#5533036 and https://devnet.jetbrains.com/thread/459951
I installed (clean) Windows 8.1 and now it works, but there should be option to wipe all java configs from Windows to avoid such mess, cause this is not the solution.
I meet this error today. Java update message jump out when I work with AndroidStudio. I accept it but my AS can't display res files after installation. I restart AS and see the error.
I guess new version java produce the error. The updated java part is jre, version is 1.8.0_101, but jdk's version is still 1.8.0_92. So I download and install new version jdk(1.8.0_101, the same as jre).
AndroidStudio successfully starts now.
Maybe this solution can also work to IDEA.
For people who couldn't solve it by having the same version of JDK and JRE.
Uninstall IntelliJ and also clean all the files that are not swept automatically by uninstalling. you can find them in C:\Users\Usuario\AppData on Local and LocalLow find the JetBrains folder and delete all the files related to IntelliJ.
Then proceed to reinstalling it. That solved it for me.

Eclipse: Failed to load the JNI shared library "C:\Windows\system32\..\jre\bin\client\jvm.dll"

Couple days ago, I was happily coding away on my IDE, Eclipse. However, after attempting to boot it up today, i get the error in the title you see.
Symptoms:
- Attempting to boot up eclipse results in an error: 'Failed to load the JNI shared library "C:\Windows\system32\..\jre\bin\client\jvm.dll"'
- Attempting to use 'java -version' results in an error: 'Error: could not open 'C:\Windows\jre\lib\amd64\jvm.cfg'
- However, if I open cmd in the jre OR jdk folder, it allows me to check the version and use java as normal.
What i've done:
- double checked windows, eclipse, and jre/jdk bit versions, all 64 bit.
- reinstalled eclipse and jre/jdk, doublechecking that I'm installing 64 bit versions
- set my -vm argument to the correct jdk
- set the PATH to my current JDK bin folder
- doublechecked registry entries for something pointing towards the system32 folder, everything is pointing at the correct locations.
I'm really not sure what to do here :\ I don't remember making any changes, updating java, or modifying anything that should have caused any of these problems since the last time I had boot up eclipse.
Answer found here
For whatever reason, the java install dumped the java/javaw/javaws.exe's into system32 and it was trying to run the VM out of sys32.

Android SDK suddenly stopped working

After a couple of months with no Android development, I ran the SDK Manager yesterday, and upgraded from r16 to r18. After that upgrade, everything stopped working. I downloaded a fresh copy of the SDK tools from Google. The Windows installer complains there's no Java installed (the solution here , which used to work before, doesn't work).
I downloaded the ZIP file instead and put it in the right place. Running SDK Manager.EXE does nothing (it just returns immediately to the command prompt). Running tools\android.bat displays an error complaining "Failed to convert path to a short DOS path: c:\windows\system32\java.exe", and then suggests I install Java.
I'm running Windows 7 64-bit, with Java 1.7 (64 bit) properly installed (Eclipse runs well, the Android tools r16 ran very well until yesterday). c:\windows\system32\java.exe exists and works as it should.
What am I doing wrong?
UPDATE: I found an old r16 setup around. I installed it and everything went back to normal.
I put this one aside for a while, but now I had to get it back running. I didn't want to install a 32-bit Java VM alongside the 64 bit one I have.
I found the culprit. in android_sdk\tools\lib there's a batch-file called find_java.bat. It calls find_java.exe -s to find a list of potential Java locations. Running the exe file like this returns the error I've been seeing:
Failed to convert path to short DOS path: c:\windows\system32\java.exe
-s stands for short. Running it without the -s causes find_java.exe to work, causing find_java.bat to work, causing everything else to work. So the fix was to edit find_java.bat, and remove the -s .
I honestly don't know what Google is thinking.
My fix was to remove /bin from my JAVA_HOME, as in C:\Java\jdk1.6.0_26\bin --> C:\Java\jdk1.6.0_26\
I'm running 64bit java on W7.
This google issue was helpful:
http://code.google.com/p/android/issues/detail?id=23648
This is just a guess, but I advise you to install JDK 6. It is said in the SDK requirements that you have to use it. I remember that I installed JDK 7 and I had some kind of trouble with it too.
Also it is safer to use the 32-bit version.
You need to also update the Eclipse plugins via Help > Install New Software.
I was able to fix same like problem by adding the jdk path to PATH variable in environment variables.

Categories

Resources