You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mahout.apache.org by Sameer Tilak <ss...@live.com> on 2013/12/19 19:00:59 UTC

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/math/Vector

Hi everyone,
I used the following commands to generate the jar file:
javac -d /apps/analytics/myanalytics -classpath .:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar:/users/p529444/software/hadoop-1.0.3/hadoop-core-1.0.3.jar:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT-job.jar SimpleKMeansClustering.java
jar -cf myanalytics.jar myanalytics/
I am getting the enclosed error message while executing the following command:
hadoop jar /apps/analytics/myanalytics.jar myanalytics.SimpleKMeansClustering -libjars /apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar /apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jar
Warning: $HADOOP_HOME is deprecated.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/math/Vector	at java.lang.Class.forName0(Native Method)	at java.lang.Class.forName(Class.java:264)	at org.apache.hadoop.util.RunJar.main(RunJar.java:149)Caused by: java.lang.ClassNotFoundException: org.apache.mahout.math.Vector	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)	at java.security.AccessController.doPrivileged(Native Method)	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)


 		 	   		  

RE: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/math/Vector

Posted by Sameer Tilak <ss...@live.com>.
Hi Suneel,I had tried that before and it was not helpful. Here is the same issue with the revised command (you can see math is in javac classpath):
javac -d /apps/analytics/ -classpath .:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar:/users/p529444/software/hadoop-1.0.3/hadoop-core-1.0.3.jar:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT-job.jar:/apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jar SimpleKMeansClustering.java

-bash-4.1$ jar -cf myanalytics.jar myanalytics/

-bash-4.1$ hadoop jar /apps/analytics/myanalytics.jar myanalytics.SimpleKMeansClustering -libjars /apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar /apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jarWarning: $HADOOP_HOME is deprecated.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/math/Vector	at java.lang.Class.forName0(Native Method)	at java.lang.Class.forName(Class.java:264)	at org.apache.hadoop.util.RunJar.main(RunJar.java:149)Caused by: java.lang.ClassNotFoundException: org.apache.mahout.math.Vector	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)	at java.security.AccessController.doPrivileged(Native Method)	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)	... 3 more

> Date: Thu, 19 Dec 2013 10:05:57 -0800
> From: suneel_marthi@yahoo.com
> Subject: Re: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/math/Vector
> To: user@mahout.apache.org
> 
> U r missing mahout-math.jar from your classpath because u r only keying off mahout-core. 
> Include mahout-math.jar in your javac classpath.
> 
> 
> 
> 
> 
> On Thursday, December 19, 2013 1:04 PM, Sameer Tilak <ss...@live.com> wrote:
>  
> Hi everyone,
> I used the following commands to generate the jar file:
> javac -d /apps/analytics/myanalytics -classpath .:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar:/users/p529444/software/hadoop-1.0.3/hadoop-core-1.0.3.jar:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT-job.jar SimpleKMeansClustering.java
> jar -cf myanalytics.jar myanalytics/
> I am getting the enclosed error message while executing the following command:
> hadoop jar /apps/analytics/myanalytics.jar myanalytics.SimpleKMeansClustering -libjars /apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar /apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jar
> Warning: $HADOOP_HOME is deprecated.
> Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/math/Vector    at java.lang.Class.forName0(Native Method)    at java.lang.Class.forName(Class.java:264)    at org.apache.hadoop.util.RunJar.main(RunJar.java:149)Caused by: java.lang.ClassNotFoundException: org.apache.mahout.math.Vector    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)    at java.security.AccessController.doPrivileged(Native Method)    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
 		 	   		  

RE: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/math/Vector

Posted by Sameer Tilak <ss...@live.com>.
I have another related question:
If I specify -libjars /apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar in my hadoop command, do I need to ensure that the  /apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar exists on each of the task tracker nodes where mapper will run. I have not installed mahout on the worker nodes and was hoping that hadoop through its libjar  option will ship the mentioned jar files onto worker nodes and will take care of making them available appropriately. 

> Date: Thu, 19 Dec 2013 10:05:57 -0800
> From: suneel_marthi@yahoo.com
> Subject: Re: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/math/Vector
> To: user@mahout.apache.org
> 
> U r missing mahout-math.jar from your classpath because u r only keying off mahout-core. 
> Include mahout-math.jar in your javac classpath.
> 
> 
> 
> 
> 
> On Thursday, December 19, 2013 1:04 PM, Sameer Tilak <ss...@live.com> wrote:
>  
> Hi everyone,
> I used the following commands to generate the jar file:
> javac -d /apps/analytics/myanalytics -classpath .:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar:/users/p529444/software/hadoop-1.0.3/hadoop-core-1.0.3.jar:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT-job.jar SimpleKMeansClustering.java
> jar -cf myanalytics.jar myanalytics/
> I am getting the enclosed error message while executing the following command:
> hadoop jar /apps/analytics/myanalytics.jar myanalytics.SimpleKMeansClustering -libjars /apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar /apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jar
> Warning: $HADOOP_HOME is deprecated.
> Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/math/Vector    at java.lang.Class.forName0(Native Method)    at java.lang.Class.forName(Class.java:264)    at org.apache.hadoop.util.RunJar.main(RunJar.java:149)Caused by: java.lang.ClassNotFoundException: org.apache.mahout.math.Vector    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)    at java.security.AccessController.doPrivileged(Native Method)    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
 		 	   		  

Re: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/math/Vector

Posted by Suneel Marthi <su...@yahoo.com>.
U r missing mahout-math.jar from your classpath because u r only keying off mahout-core. 
Include mahout-math.jar in your javac classpath.





On Thursday, December 19, 2013 1:04 PM, Sameer Tilak <ss...@live.com> wrote:
 
Hi everyone,
I used the following commands to generate the jar file:
javac -d /apps/analytics/myanalytics -classpath .:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar:/users/p529444/software/hadoop-1.0.3/hadoop-core-1.0.3.jar:/apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT-job.jar SimpleKMeansClustering.java
jar -cf myanalytics.jar myanalytics/
I am getting the enclosed error message while executing the following command:
hadoop jar /apps/analytics/myanalytics.jar myanalytics.SimpleKMeansClustering -libjars /apps/mahout/trunk/core/target/mahout-core-0.9-SNAPSHOT.jar /apps/mahout/trunk/math/target/mahout-math-0.9-SNAPSHOT.jar
Warning: $HADOOP_HOME is deprecated.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/math/Vector    at java.lang.Class.forName0(Native Method)    at java.lang.Class.forName(Class.java:264)    at org.apache.hadoop.util.RunJar.main(RunJar.java:149)Caused by: java.lang.ClassNotFoundException: org.apache.mahout.math.Vector    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)    at java.security.AccessController.doPrivileged(Native Method)    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)