I'm trying to run DISA's STIGViewer on my Mac. It is a JAR file, and I have Java installed on my system. Double-clicking on the file does not work, and neither does launching it from the command line.
% java -jar /Applications/STIGViewer-2.16.jar
Error: Could not find or load main class stigviewer.STIGViewer
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
%
Has anyone in the community been able to get this to work on their system?
My current version of Java is 16.0.2 (java -version). I tried to install Java 8, which is said to include JavaFX. I tried simple procedures (installers only, no environmental variables) but was not able to get anything to work. I tried to uninstall every install attempt to keep my system as close to its original configuration as possible.
I found some information about installing JavaFX using Homebrew (already installed on my system). I installed the version that matches my Java version using the following commands:
brew tap bell-sw/liberica
brew install --cask liberica-jdk16-full
I still don't know where JavaFX is within my configuration, but I can get STIGViewer to launch now. I can't double-click on it in my Applications folder, but I can launch it from the command line:
java -jar /Applications/STIGViewer-2.16.jar
I'm trying out the Eclipse 4.20 builds available as Mac OSX (64 bit version for Arm64/AArch64) running under macOS 11 on Apple Silicon. This version doesn't seem to come with a jdk, so I've assumed I need to handle that myself. I installed 16.0.1-librca from Bellsoft with SDKman (Rosetta2 mode false).
I edited the info.plist file of Eclipse like this:
<key>Eclipse</key>
<array>
<string>-vm</string>
<string>~/.sdkman/candidates/java/16.0.1-librca/bin/java</string>
…(Other stuff here)
</array>
and Eclipse does indeed startup, but crashes right away. A while after this macOS claims I don't have the permissions to start the app. Results are identical with the Zulu AArch64.
I typically get
"Exception Type: EXC_BAD_ACCESS (SIGABRT) Exception Codes:
KERN_INVALID_ADDRESS at 0x000000000000000c"
and
"Application Specific Information: abort() called"
in libjvm.dylib.
This with some variations depending on the setup used.
Assuming these releases are supposed to work in macOS 11 on Apple Silicon, then it would seem likely this should be possible to get working. Or have I misunderstood the meaning of aarch64 here? Are these perhaps just versions for jdk developers? I looked over the "Target Environments" for Eclipse and feel unsure what other uses a version labelled as "Mac…for Arm64/AArch64" would have here.
libexec doesn't see the SDKman installed version. When I run java --version in the terminal it does show "openjdk 16.0.1 2021-04-20" and not my main Oracle JDK.
Any suggestions on how to set this up?
I have yet to investigate the actual reason, but after I had installed the "OpenJDK 64-Bit Server VM Zulu (build 11.0.11+9-LT)" and I had started to contemplate overriding eclipse.ini in order to avoid macOS preventing me from starting a modified app (recurrent issue. Note I didn't attempt overriding) I started Eclipse from the command line with the open command and Eclipse starts right up using
-vm
/Users/[user name]/.sdkman/candidates/java/11.0.11-zulu/zulu-11.jdk/Contents/Home/bin/`
At least this starts Eclipse. Double clicking the app renders the same results as before.
A theory is that since the open command runs in the terminal and java --version verifies the zulu jdk set there by sdkman, this is why. However JAVA_HOME is empty and the /usr/libexec/java_home -V command only lists the Oracle JDK.
Thank you #greg-449 and #howlger. I don't think I'd found this without your helpful suggestions.
To not have to be in the terminal just for starting Eclipse I made this little Applescript that opens Terminal (Just executing the command without it involved wouldn't supply the proper JVM):
on run {input, parameters}
tell application "Terminal"
activate
do script "open /Applications/Eclipse.app"
delay 1
close front window
end tell
Save that as an app and start with this instead of Eclipse.
If I could find out how the proper JVM in Terminal is supplied to Eclipse with the open command, maybe this can be used for modifying how Eclipse starts.
I am trying to install netbeans 8 in debian-7.0-amd64-minimal. (VPS)
1st I have installed java/JDK latest version (1.8.0_20) by following
https://www.digitalocean.com/community/tutorials/how-to-manually-install-oracle-java-on-a-debian-or-ubuntu-vps
Next I am trying to install netbeans by following
http://installnetbeansdebian.blogspot.com/2013/06/how-to-install-netbeans-73-ide-complete.html
when I run
./netbeans-8.0-php-linux.sh
it displays the following error.
Configuring the installer...
Searching for JVM on the system...
Extracting installation data...
Running the installer wizard...
Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread "main"
Anybody knows, how to fix this?
Had a similar issue, for some reason the command
$ sudo chmod -x netbeans-8.2-javaee-linux.sh
didn't create executable file out of the script, so I had to use GUI method, as it shown here in the second answer:
https://askubuntu.com/questions/229589/how-to-make-a-file-e-g-a-sh-script-executable-so-it-can-be-run-from-termina
then as the user Firestorm suggested just dropped sudo and it worked for me:
$./netbeans-8.2-javaee-linux.sh
Installed perfectly even created "Development" department in the "Application" menu and nested program start tag there. Debian-8 x64 KDE
Just had the same issue here (Fedora 25, Netbeans 8.2). It only occurs, when executing the installer as root which seems to be a problem with a root-privileged gui in a non-root-privileged environment.
Solution: Either install netbeans as normal user in your home directory OR launch the installer as root with the switch '--silent':
./netbeans-8.2-html-linux-x64.sh --silent
which will install netbeans in /usr/local.
Maybe late. For ubuntu 17
azuka$ : xhost +
azuka$ : sudo su
root$ : sh netbeans-8.2-php-linux.sh
I had the same issue on "Fedora 26". But I resolved it by repeating the same procedure but not as 'root' or 'sudo'. I.e:
Change directory to locate the downloaded file.
then.
$ chmod +x netbeans-8.2-linux.sh
$ ./netbeans-8.2-linux.sh
This question is nearly exactly two years old, but still actually occurred here just now.
I had this too on a Slackware system. I was trying to install it like you (because Slackware doesn't provide NetBeans packages) and I was typing in a virtual terminal window after executing su. The problem was the exact same as yours: I got the NoClassDefFound exception and the installer stopped. The solution was to execute the NetBeans installer as a normal user, or as the same user that you're logged in as in the X session. Java errors can be a bit cryptical, but the solution's as easy as that.
I hope this helps.
Simply close netbean if you open it already
1.install openjdk
2. download netbean
and where you download it use below command
$./netbeans-8.2-javaee-linux.sh
The solution was to execute the NetBeans installer as a normal user, or as the same user that you're logged in as in the X session
The solution was to execute the NetBeans installer as a normal user, or any user other than root.
define JAVA_HOME and JDK_HOME as environment variable
I had the same issue while installing Oracle Developer Studio via ssh X forwarding. I switched jdk from SE to 1.7.0 openjdk (update-alternatives --config java) and then managed to install. I hope it will help someone.
I have the same issue and I use:
sudo bash -x Apache-NetBeans-12.1-bin-linux-x64.sh --silent
and with this I coud install netbeans, but the version 12.1.
It is much easier (and more reliable and more secure) to use package management system to install software. All you need to do is to use the following command to install netbeans on Debian:
sudo apt-get install netbeans
Although netbeans version 7 will be installed (ver. 8 is not available from native Debian repository yet) you won't be struggling to make it work.
Besides please be careful with instructions to install java/JDK -- the method they describe is not the best. If OpenJDK is not sufficient for you then you might be doing something wrong. If you absolutely have to try Oracle's Java (unfortunately there are some corner cases when it might be needed) please use java-package to build your own Java package (.deb) from downloadable Java binary.
Installed Java SE 1.7.0u10 from Oracle w/ their installer package
Downloaded and unpacked Eclipse Juno (4.2.1)
Double click Eclipse purple icon and get OS X alert prompt with error message:
To open "Eclipse," you need a Java SE 6 runtime. Would you like to
install one now?
(in terminal) which java - /usr/bin/java
ls -l /usr/bin/java - /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
(in Finder) Double click eclipse alias (included when unpacked download) - Terminal launches, /Applications/Eclipse/Eclipse.app/Contents/MacOS/eclipse ; exit ; and Exclipse launches without OS X alert prompt.
I've tried modifying the Eclipse app bundle plist to point the -vm key to /System/Library/Frameworks/JavaVM.frameworks/Versions/Current/Commands/java, but I feel like I probably shouldn't have to do this.`
I'd like to know how to get Eclipse to launch by just double clicking on the Application package. It's such a small thing to bug me... :o)
The best answer is to fix the Java 7 installation as shown here :
https://stackoverflow.com/a/19594116
Simple to do and I have confirmed it works on Mavericks. With this fix, you can launch your app from the launchpad as usual. If you upgrade your JDK, you will have to reapply the fix to the new installation.
I had JDK 7 installed and I solved this issue for eclipse Kepler by running eclipse from the terminal instead of the finder.
./eclipse
Just thought to share.
Update 1
For the sake of completeness, if you want to run it from Finder as well, you can wrap the ./eclipse command into a .command file and run it from Finder (so that you don't have to open a terminal)
The following lines should do the job (don't forget to replace "your-full-eclipse-path" with the eclipse path on your machine)
#!/bin/sh
/your-full-eclipse-path/eclipse
After that, give execute permission to the eclipse.command file you just created
chmod +x eclipse.command
I found the answer over on Ask Different
It's an ugly hack, but works perfectly.
posted on this page: Mountain Lion with Java 7 only
To trick OS X to accept Java 7 instead of proposing to install Java 6 a simple symlink is enough:
sudo mkdir /System/Library/Java/JavaVirtualMachines
sudo ln -s /Library/Java/JavaVirtualMachines/1.7.0.jdk /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
Most Java Programs will run with this little hack without the need to install Java 6. OS X's Java Preferences (and maybe some others) will not as it seems to explicitly check the version of the JVM when it is started.
script above can fix my problem.
Hoping you are using 64-bit of Java SE 1.7.0 and so advising the following.
go to Eclipse->Preferences...->Java->Installed JREs
click Add...
Select Standard VM
paste /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home into JRE home
Change the JRE name to something useful like Java SE 7
Click Finish
Check the check-box next to your newly created JRE.
You would need a restart.
For what it's worth, the Eclipse team seems to have worked around it by replacing their dlopen()-based method with a CFBundleCreate()-based one: https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361
In case anybody has the same problem in their code that launches Java and does not want to resort to Apple-only APIs, I found an easier work-around: before dlopen()ing $JRE_HOME/lib/server/libjvm.dylib, make sure to open dlopen() $JRE_HOME/lib/jli/libjli.dylib. Then it won't ask to install Java 6.
Can you imagine that? You have to install a JDK 1.6 to get eclipse ran properly, even if you already have jdk 1.7 installed, and set the JAVA_HOME properly.
To resolve your issue, you just need to download the jdk1.6 from http://support.apple.com/kb/DL1572?viewlocale=en_US, and install it, later you will be able to run eclipse, and you can set the JAVA_HOME to JDK1.7, and you will be able to find the JDK1.7 from eclipse "Preferences".
All these hacks does not work on mac Mavericks,
But a simple and efficient solution is found here
it worked with me like a charm.
Note: a drawback of this solution is when you check your java version using "java -version" command, it will read Java 1.6
open /Library/Java/JavaVirtualMachines/jdkXXXXX.jdk/Contents/Info.plist
settting(<string>BundledApp</string> is usefull!):
<key>JVMCapabilities</key>
<array>
<string>JNI</string>
<string>BundledApp</string>
<string>WebStart</string>
<string>Applets</string>
<string>CommandLine</string>
</array>
I had the exact same message when setting up a new mac and trying to run eclipse 4.2.2 with only Java SE 7 installed (as part of JDK 7u17).
In order to be able to successfully launch Eclipse I had to let OSX download and install Apple's Java SE 6 runtime first before installing the latest JDK.
After installing the JDK, the command java -version correctly shows:
java version "1.7.0_17"
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
Trying to solve the problem the other way around didn't work -- i.e. installing JDK 7u17 first before installing Java SE 6 as suggested in the message.
I had the exactly same problem some days ago and I solved it today. Just installed this http://support.apple.com/kb/dl1572
And after that, when I opened the eclipse the OSX installed some java update and opening eclipse by Eclipse.app started working.
Hope it works with you too.
If you'd like to install Java 6 JDK only (no Java 7 JDK/JRE, no Java 6 JRE only), install the Apple OSX Java DMG (at time of writing, this was http://adcdownload.apple.com/Developer_Tools/java_for_os_x_2013003_developer_package/java_for_os_x_2013003_dp__11m4406.dmg).
You still won't be able to start Eclipse. Make a directory JavaVirtualMachines under /System/Library/Java. And then make an Alias of the java version folder at /Library/Java/JavaVirtualMachines and rename the alias 1.6.0.jdk and copy that alias to /System/Library/Java/JavaVirtualMachines/
After finished, you will have an Alias at /System/Library/Java/JavaVirtualMachines/1.6.0.jdk that points to the Java install directory at */Library/Java/JavaVirtualMachines/1.6.0_XX-XXX-XXX.jdk*
Install latest JDK from Sun, it installs into /Library/Java/JavaVirtualMachines/, e.g. /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk
sudo mkdir /System/Library/Java/JavaVirtualMachines
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/ /System/Library/Java/JavaVirtualMachines/1.6.0.jdk
========= this trick used to work on Mountain Lion, but not on Maverick 10.9 somehow ============
Tried this again on Maverick, it does not work anymore. I also tried to change eclipse app plist and eclipse.ini (by adding -vm or ), does not work either.
Some people suggested that this is caused by Eclipse binary prepared using Apple 1.6 appbundler instead of Oracle java7 appbundler: Application is using Java 6 from Apple instead of Java 7 from Oracle on Mac OS X?
For now, please just type the eclipse from command line, which works fine with JAVA_HOME set to Java 7 (/usr/libexec/java_home command will tell you)
How to Make Eclipse Run on OS X 10.9 Mavericks
Attempting to launch various Eclipse versions after the Mavericks upgrade pops up a dialog with this message:
To open "Eclipse.app" you need a Java SE 6 runtime. Would you like to install one now?
It turns out that Java 7 is disabled by default in OS X 10.9.
This is easily verified as follows:
$ java --version
No Java runtime present, requesting install.
The solution is to install the latest supported Java version from Apple support: Java for OS X 2013-005 (http://support.apple.com/kb/DL1572)
As of 10/15/13 this would be Java SE 6 1.6.0_65.
Post Date: Oct 15, 2013
File Size: 63.98 MB
After the install, Eclipse will run as expected from the Dock, the Finder, or the Terminal without any tricks, hacks, or work-arounds.
I wanted to run Eclipse itself with Java 7. As I have a couple of plugins that do not work without it. For me neither solution worked for 10.9, but I found a workaround. The main idea is that you start eclipse with java -jar launcher.jar and provide a couple of magic properties and then it starts. This guy provided the command line script in comments that works for me:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361#c25
I found the same problem (Mac OS X 10.9.2, Java 1.7.0_53b13, Eclipse Kepler). The workaround was quite easy:
Find the executable in Finder (CMD+Click on Eclipse's icon in the Dock)
Remove the icon from the Dock
CTRL+Click on the executable in Finder
ALT+Open (to allow the execution of a non-signed application)
Eclipse opens normally and without any problem
Re-dragged the program onto the Dock
I had this problem and found that I did not have JDK installed on my Mac. Once I did that, Eclipse starts normally.
I had same problem.
First of all ; JDK(java development Kit) and JRE(Java Runtime Environment) are different things. It was confused by people
In order to install eclipse yo should install latest JDK . So
Visit
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Download suitable version for your mac
You can check your version now ; it won't be 1.6 anymore
Try to install eclipse again , see it works.
Good luck!..
What is the reason for the following error I am having:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library.
I am using Eclipse 3.5 SE on Ubuntu 9.04 Jaunty.
How can I resolve this error?
I had same problem with Oracle Java 7 and Eclipse on 32-bit system.
libswt-gtk-3.6-java and libswt-gtk-3.6-jni were already installed. What helped:
cd ~/.swt/lib/linux/x86
ln -s /usr/lib/jni/* .
Maybe this can be done reconfiguring Java alternatives or what.
I believe Mikolaj Lechtanski's workaround is more elegant.
create or edit /etc/eclipse.ini
Paste inside:
-vmargs
-Djava.library.path=/usr/lib/jni
exit
make sure the file is readable:
sudo chmod 755 /etc/eclipse.ini
This means the native libraries could not be found.
Either you have 32-bit libraries and you are running on a 64-bit machine or vice-versa.
also make sure you have the -Djava.library.path= set properly
See this page on how to run outside of eclipse
What versions of Java and Eclipse are you using, and are they 32-bit or 64-bit, and how did you install them?
Eclipse uses its own GUI library called SWT (it doesn't use Java's AWT or Swing), and it needs some native (non-Java) libraries for this. If you have 32-bit Java installed, you need 32-bit Eclipse; if you have 64-bit Java installed, you need 64-bit Eclipse (note, the Eclipse downloads page has 32-bit and 64-bit versions for Linux).
(Note that it doesn't depend on whether your Linux OS is 32-bit or 64-bit, but on whether your Java is).
I had a similar issue when running Eclipse remotely on a server via a "ssh -X" tunnel. I resolved it using "sudo apt-get install libswt-gtk-3.6-java" on the server.
Happened to me when starting some GUI java application on a headless server using X11 forwarding while only having openjdk-7-jre-headless installed. Installing the full jre solved the problem:
apt-get install openjdk-7-jre
I ended up doing
cd ~/.swt/lib/macosx/x86_64
ln -s /usr/lib/java/* .
which fixed that problem.