I wrote some Java code that takes several arguments using Eclipse. I was able to compile and execute the code just fine by entering the arguments in the "Run configurations."
However, I need to be able to run my code via command-line. This is what I tried:
javac -g ./MyCode.java
java MyCode ./fileOne.txt ./fileTwo.txt ./fileThree.txt
And the error message:
Exception in thread "main" java.lang.NoClassDefFoundError: mypackage/MyCode
Caused by: java.lang.ClassNotFoundException: mypackage.MyCode
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
I don't understand what is going on. My code does not have any bugs when I run through Eclipse. Help?
You are not setting up the classpath properly.
http://docs.oracle.com/javase/tutorial/essential/environment/paths.html
Related
I recently created and compiled a Java program, but it will not run from the Terminal. It isn't the program, because it WILL run from Eclipse. This is what I get from Terminal when I attempt to run the program:
Grants-MBP:~ Grant$ java /Users/Grant/Desktop/Pythagorean
Exception in thread "main" java.lang.NoClassDefFoundError: /Users/Grant/Desktop/Pythagorean
Caused by: java.lang.ClassNotFoundException: .Users.Grant.Desktop.Pythagorean
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
navigate to the desktop folder
cd /Users/Grant/Desktop/
invoke java using
java Pythagorean
I am trying to compile a Java program that uses jSoup.
Name of Program: WebCrawler.java
I was having issues with getting the program to compile. Thanks to Arvind(user below) that works. However when I java WebCrawler. I get the following errors:
Exception in thread "main" java.lang.NoClassDefFoundError: WebCrawler/java
Caused by: java.lang.ClassNotFoundException: WebCrawler.java
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Is that because of my classpath?
To compile (on linux):
export CLASSPATH=jsoup-1.8.1.jar
javac WebCrawler.java
or
javac -cp jsoup-1.8.1.jar WebCrawler.java
I'm a newbie in running Java code in Linux environment. I'm trying to get the Astyanax to work on the linux machine.
I followed the instruction on https://github.com/Netflix/astyanax/wiki/Getting-Started
I have cloned the code from github, and ./gradlew build runs successfully.
I'm trying to run the AstClient in the astyanax-examples. I tried the following command:
java -cp "/home/shbash6/astyanax/astyanax-examples/build/libs/;/home/shbash6/astyanax/astyanax-cassandra/build/libs/;/home/shbash6/astyanax/astyanax-core/build/libs/;/home/shbash6/astyanax/astyanax-thrift/build/libs/" com.netflix.astyanax.examples.AstClient
under holder:
/home/shbash6/astyanax/astyanax-examples/build/classes/main
but I got the following exception:
Exception in thread "main" java.lang.NoClassDefFoundError: com/netflix/astyanax/examples/AstClient
Caused by: java.lang.ClassNotFoundException: com.netflix.astyanax.examples.AstClient
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: com.netflix.astyanax.examples.AstClient. Program will exit.
Could anyone tell me how to fix this issue? Thanks!
Use : classpath separators on *nix platforms
java -cp "/home/shbash6/astyanax/astyanax-examples/build/libs/*:/home/shbash6/astyanax/astyanax-cassandra/build/libs/*:/home/shbash6/astyanax/astyanax-core/build/libs/*:/home/shbash6/astyanax/astyanax-thrift/build/libs/*" com.netflix.astyanax.examples.AstClient
I have downloaded an application that is Java. But I have troubles with running the script.
I have tried "java Main" which properly should run "Main.java"?
But i keep getting this
Exception in thread "main" java.lang.NoClassDefFoundError: Main
Here is my terminal try:
Last login: Thu Jun 13 17:22:39 on ttys001
new-host:~ jespermadsen$ cd /Users/jespermadsen/Desktop/TimeTakerv2-master
new-host:TimeTakerv2-master jespermadsen$ ls
ChallengeHandler.java SBUtil.java
ConnectToSock.java SendToSock.java
CountTime.java Server part
DownloadFiles.java SocketAction.java
Login.java StrangeBase.java
LoginUI.form TimeTakerRenewedUI.form
LoginUI.java TimeTakerRenewedUI.java
Main.java TingGrabber.java
Protocol.java decodeChallengeString.java
QStringBuffer.java jTokenizer.java
RecieveFromSock.java loginToServer.java
ReplaceHTMLChars.java n7
RequestSites.java
new-host:TimeTakerv2-master jespermadsen$ java Main
Exception in thread "main" java.lang.NoClassDefFoundError: Main
Caused by: java.lang.ClassNotFoundException: Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
You need to compile the project. Source files can't be executed.
You need to compile the code first, using javac.
$ javac path/to/Main.java
Then,
$ java path/to/Main
I am trying to command line compile my code and I cannot get it to run properly. My project was in eclipse and I could specify the location of a jar file to include but the command line is another issue. All .java and the .jar file are in the same director.
I can compile with
javac -classpath opencsv-2.3.jar *.java
I get the following exception if I try to run my code.
java ClassificationGenerator
Exception in thread "main" java.lang.NoClassDefFoundError: au/com/bytecode/opencsv/CSVReader
I tried running the code with
java -classpath opencsv-2.3.jar ClassificationGenerator
but then I get
Exception in thread "main" java.lang.NoClassDefFoundError: ClassificationGenerator
Caused by: java.lang.ClassNotFoundException: ClassificationGenerator
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
You need to give the jar in the classpath while running, aw well:
java -classpath .;opencsv-2.3.jar ClassificationGenerator