set java classpath on linux
Hello!
I'm a new user in Linux. I'm using opensuse 11.2, but i don't know how to set path to java. The problem in console: Code:
Exception in thread "main" java.lang.NoClassDefFoundError: myfirstprogram |
Quote:
Quote:
The line to worry about is: Quote:
Happy coding! :) Thor |
Java searches its CLASSPATH for classes; nothing to do with the shell's path. From man java:
Code:
-classpath classpath |
How I can to find the Classpath? Give me an example.
|
Find it with:
Quote:
Quote:
Thor |
Who is the quick CLASSPATH?
echo $CLASSPATH is empty! |
It depends where you have installed java and more importantly where your code is.
Your error says it can't find myfirstprogram so you need to give the location of myfirstprogram.class - either in $CLASSPATH or on the java command line |
linux-kzpj:/home/denislav/Desktop # CLASSPATH=/home/denislav/Download/;/home/denislav/Desktop/myfirstjavaprog.java
bash: /home/denislav/Desktop/myfirstjavaprog.java: Permission denied OR linux-kzpj:/home/denislav/Desktop # java /home/denislav/Desktop/myfirstjavaprog /home/denislav/Desktop/myfirstjavaprog.class Exception in thread "main" java.lang.NoClassDefFoundError: /home/denislav/Desktop/myfirstjavaprog Caused by: java.lang.ClassNotFoundException: .home.denislav.Desktop.myfirstjavaprog at java.net.URLClassLoader$1.run(URLClassLoader.java:217) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336) Could not find the main class: /home/denislav/Desktop/myfirstjavaprog. Program will exit. My myfrsjavaprog is in /home/denislav/Desktop/myfirstjavaprog.java What I have to make? |
Quote:
try quoting your classpath variable: Code:
CLASSPATH="/home/denislav/Download/;/home/denislav/" Code:
java -cp /home/denislav/Desktop/ myfirstjavaprog |
denislav@linux-kzpj:~/Desktop> java -cp /home/denislav/Desktop/ myfirstjavaprog
Exception in thread "main" java.lang.UnsupportedClassVersionError: myfirstjavaprog : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:637) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) at java.net.URLClassLoader.access$000(URLClassLoader.java:73) at java.net.URLClassLoader$1.run(URLClassLoader.java:212) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:205) at java.lang.ClassLoader.loadClass(ClassLoader.java:323) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at java.lang.ClassLoader.loadClass(ClassLoader.java:268) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336) Could not find the main class: myfirstjavaprog. Program will exit. Any idea? |
Lots of web search results for "UnsupportedClassVersionError". You may have an older Java version on the host where you are trying to run this.
What do you get from Code:
java -version |
denislav@linux-kzpj:~> java -version
java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.6) (suse-5.9.4-i386) OpenJDK Server VM (build 14.0-b16, mixed mode) |
And did you compile the myfirstjavaprog class using a later compiler version? That message is saying that somehow myfirstjavaprog.class expects a higher java runtime version than you are running it with.
Do you have a $JAVA_HOME environment variable set? |
Code:
denislav@linux-kzpj:~/Desktop> $JAVA_HOME |
Quote:
2: When you want to find out the value of an environment variable, use echo Code:
echo $JAVA_HOME |
All times are GMT -5. The time now is 07:51 PM. |