java.lang.NoClassDefFoundError: scala/tools/nsc/Main

2,334 views
Skip to first unread message

cmoul...@gmail.com

unread,
Mar 13, 2009, 7:14:35 AM3/13/09
to Maven and Scala
When I try to use the maven-scala-pugin, I receive the following
error :

D:\Dvlpt\Java\workspace-ganymede\apache-camel-source\components\camel-
scala>mvn dependency:tree clean install
[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'dependency'.
[INFO]
------------------------------------------------------------------------
[INFO] Building Camel :: Scala
[INFO] task-segment: [dependency:tree, clean, install]
[INFO]
------------------------------------------------------------------------
[INFO] [dependency:tree]
[INFO] org.apache.camel:camel-scala:bundle:2.0-SNAPSHOT
[INFO] +- org.apache.camel:camel-core:jar:2.0-SNAPSHOT:compile
[INFO] | \- commons-logging:commons-logging-api:jar:1.1:compile
[INFO] +- org.scala-lang:scala-library:jar:2.7.2:compile
[INFO] +- org.apache.camel:camel-core:test-jar:tests:2.0-SNAPSHOT:test
[INFO] +- org.apache.camel:camel-juel:jar:2.0-SNAPSHOT:test
[INFO] | \- de.odysseus.juel:juel:jar:2.1.0:test
[INFO] +- org.apache.camel:camel-jxpath:jar:2.0-SNAPSHOT:test
[INFO] | +- org.apache.camel:camel-spring:jar:2.0-SNAPSHOT:test
[INFO] | | +- org.springframework:spring-core:jar:2.5.6:test
[INFO] | | | \- commons-logging:commons-logging:jar:1.1.1:test
[INFO] | | +- org.springframework:spring-context:jar:2.5.6:test
[INFO] | | | +- aopalliance:aopalliance:jar:1.0:test
[INFO] | | | \- org.springframework:spring-beans:jar:2.5.6:test
[INFO] | | +- org.springframework:spring-tx:jar:2.5.6:test
[INFO] | | \- org.springframework:spring-aop:jar:2.5.6:test
[INFO] | \- commons-jxpath:commons-jxpath:jar:1.3:test
[INFO] +- org.apache.camel:camel-velocity:jar:2.0-SNAPSHOT:test
[INFO] | \- org.apache.velocity:velocity:jar:1.6.1:test
[INFO] | +- commons-collections:commons-collections:jar:3.2.1:test
[INFO] | +- commons-lang:commons-lang:jar:2.4:test
[INFO] | \- oro:oro:jar:2.0.8:test
[INFO] +- junit:junit:jar:3.8.2:test
[INFO] \- org.slf4j:slf4j-log4j12:jar:1.5.6:compile
[INFO] +- org.slf4j:slf4j-api:jar:1.5.6:compile
[INFO] \- log4j:log4j:jar:1.2.14:compile
[INFO] [clean:clean]
[INFO] Deleting directory D:\Dvlpt\Java\workspace-ganymede\apache-
camel-source\components\camel-scala\target
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [scala:compile {execution: default}]
[ERROR] D:\Dvlpt\Java\workspace-ganymede\apache-camel-source\components
\camel-scala\src\main\scala
[INFO] Compiling 31 source files to D:\Dvlpt\Java\workspace-ganymede
\apache-camel-source\components\camel-scala\target\classes
[WARNING] java.lang.NoClassDefFoundError: scala/tools/nsc/Main
[WARNING] Caused by: java.lang.ClassNotFoundException:
scala.tools.nsc.Main
[WARNING] at java.net.URLClassLoader$1.run(URLClassLoader.java:
200)
[WARNING] at java.security.AccessController.doPrivileged(Native
Method)
[WARNING] at java.net.URLClassLoader.findClass
(URLClassLoader.java:188)
[WARNING] at java.lang.ClassLoader.loadClass(ClassLoader.java:
307)
[WARNING] at sun.misc.Launcher$AppClassLoader.loadClass
(Launcher.java:301)
[WARNING] at java.lang.ClassLoader.loadClass(ClassLoader.java:
252)
[WARNING] at java.lang.ClassLoader.loadClassInternal
(ClassLoader.java:320)
[WARNING] Could not find the main class: scala.tools.nsc.Main.
Program will exit.

I work on windows and I can confirm that the jar scala-compiler is
present in my local maven repository :

org\scala-lang\scala-compiler\2.7.2\scala-compiler-2.7.2.jar

Any idea about the error ?

I think that there is a problem with the javac command created :

[ERROR] D:\Dvlpt\Java\workspace-ganymede\apache-camel-source\components
\camel-scala\src\main\scala
[INFO] Compiling 31 source files to D:\Dvlpt\Java\workspace-ganymede
\apache-camel-source\components\camel-scala\target\classes
[DEBUG] cmd: D:\Soft\Sun\jdk1.6.0_12\jre\bin\java -classpath C:
\.m2\repository\org\scala-lang\scala-library\2.7.2\scala-
library-2.7.2.jar;C:\.m2\repository\org\scala-lang\scala-compiler
\2.7.2\scala-compiler-2.7.2.jar -Xbootclasspath/a:C:\.m2\repository\org
\scala-lang\scala-library\2.7.2\scala-library-2.7.2.jar
scala.tools.nsc.Main -classpath D:\Dvlpt\Java\workspace-ganymede
\apache-camel-source\components\camel-scala\target\classes;c:
\.m2\repository\org\apache\camel\camel-core\2.0-SNAPSHOT\camel-
core-2.0-SNAPSHOT.jar;c:\.m2\repository\commons-logging\commons-
logging-api\1.1\commons-logging-api-1.1.jar;c:\.m2\repository\org
\scala-lang\scala-library\2.7.2\scala-library-2.7.2.jar;c:
\.m2\repository\log4j\log4j\1.2.14\log4j-1.2.14.jar;c:\.m2\repository
\org\slf4j\slf4j-log4j12\1.5.6\slf4j-log4j12-1.5.6.jar;c:
\.m2\repository\org\slf4j\slf4j-api\1.5.6\slf4j-api-1.5.6.jar -d D:
\Dvlpt\Java\workspace-ganymede\apache-camel-source\components\camel-
scala\target\classes D:\Dvlpt\Java\workspace-ganymede\apache-camel-
source\components\camel-scala\src\main\scala\org\apache\camel\scala
\converters\ScalaTypeConverter.scala D:\Dvlpt\Java\workspace-ganymede
\apache-camel-source\components\camel-scala\src\main\scala\org\apache
\camel\scala\dsl\builder\RouteBuilder.scala D:\Dvlpt\Java\workspace-
ganymede\apache-camel-source\components\camel-scala\src\main\scala\org
\apache\camel\scala\dsl\builder\RouteBuilderSupport.scala D:\Dvlpt\Java
\workspace-ganymede\apache-camel-source\components\camel-scala\src\main
\scala\org\apache\camel\scala\dsl\DSL.scala D:\Dvlpt\Java\workspace-
ganymede\apache-camel-source\components\camel-scala\src\main\scala\org
\apache\camel\scala\dsl\languages\Languages.scala D:\Dvlpt\Java
\workspace-ganymede\apache-camel-source\components\camel-scala\src\main
\scala\org\apache\camel\scala\dsl\SAbstractDefinition.scala D:\Dvlpt
\Java\workspace-ganymede\apache-camel-source\components\camel-scala\src
\main\scala\org\apache\camel\scala\dsl\SAggregateDefinition.scala D:
\Dvlpt\Java\workspace-ganymede\apache-camel-source\components\camel-
scala\src\main\scala\org\apache\camel\scala\dsl
\SChoiceDefinition.scala D:\Dvlpt\Java\workspace-ganymede\apache-camel-
source\components\camel-scala\src\main\scala\org\apache\camel\scala\dsl
\SDelayDefinition.scala D:\Dvlpt\Java\workspace-ganymede\apache-camel-
source\components\camel-scala\src\main\scala\org\apache\camel\scala\dsl
\SIdempotentConsumerDefinition.scala D:\Dvlpt\Java\workspace-ganymede
\apache-camel-source\components\camel-scala\src\main\scala\org\apache
\camel\scala\dsl\SLoadBalanceDefinition.scala D:\Dvlpt\Java\workspace-
ganymede\apache-camel-source\components\camel-scala\src\main\scala\org
\apache\camel\scala\dsl\SLoopDefinition.scala D:\Dvlpt\Java\workspace-
ganymede\apache-camel-source\components\camel-scala\src\main\scala\org
\apache\camel\scala\dsl\SMulticastDefinition.scala D:\Dvlpt\Java
\workspace-ganymede\apache-camel-source\components\camel-scala\src\main
\scala\org\apache\camel\scala\dsl\SOnExceptionDefinition.scala D:\Dvlpt
\Java\workspace-ganymede\apache-camel-source\components\camel-scala\src
\main\scala\org\apache\camel\scala\dsl\SProcessDefinition.scala D:
\Dvlpt\Java\workspace-ganymede\apache-camel-source\components\camel-
scala\src\main\scala\org\apache\camel\scala\dsl
\SProcessorDefinition.scala D:\Dvlpt\Java\workspace-ganymede\apache-
camel-source\components\camel-scala\src\main\scala\org\apache\camel
\scala\dsl\SResequenceDefinition.scala D:\Dvlpt\Java\workspace-ganymede
\apache-camel-source\components\camel-scala\src\main\scala\org\apache
\camel\scala\dsl\SRouteDefinition.scala D:\Dvlpt\Java\workspace-
ganymede\apache-camel-source\components\camel-scala\src\main\scala\org
\apache\camel\scala\dsl\SSplitDefinition.scala D:\Dvlpt\Java\workspace-
ganymede\apache-camel-source\components\camel-scala\src\main\scala\org
\apache\camel\scala\dsl\SThreadDefinition.scala D:\Dvlpt\Java
\workspace-ganymede\apache-camel-source\components\camel-scala\src\main
\scala\org\apache\camel\scala\dsl\SThrottleDefinition.scala D:\Dvlpt
\Java\workspace-ganymede\apache-camel-source\components\camel-scala\src
\main\scala\org\apache\camel\scala\dsl\STryDefinition.scala D:\Dvlpt
\Java\workspace-ganymede\apache-camel-source\components\camel-scala\src
\main\scala\org\apache\camel\scala\Frequency.scala D:\Dvlpt\Java
\workspace-ganymede\apache-camel-source\components\camel-scala\src\main
\scala\org\apache\camel\scala\Period.scala D:\Dvlpt\Java\workspace-
ganymede\apache-camel-source\components\camel-scala\src\main\scala\org
\apache\camel\scala\Preamble.scala D:\Dvlpt\Java\workspace-ganymede
\apache-camel-source\components\camel-scala\src\main\scala\org\apache
\camel\scala\RichExchange.scala D:\Dvlpt\Java\workspace-ganymede
\apache-camel-source\components\camel-scala\src\main\scala\org\apache
\camel\scala\RichInt.scala D:\Dvlpt\Java\workspace-ganymede\apache-
camel-source\components\camel-scala\src\main\scala\org\apache\camel
\scala\ScalaExpression.scala D:\Dvlpt\Java\workspace-ganymede\apache-
camel-source\components\camel-scala\src\main\scala\org\apache\camel
\scala\ScalaPredicate.scala D:\Dvlpt\Java\workspace-ganymede\apache-
camel-source\components\camel-scala\src\main\scala\org\apache\camel
\scala\ScalaProcessor.scala D:\Dvlpt\Java\workspace-ganymede\apache-
camel-source\components\camel-scala\src\main\scala\org\apache\camel
\scala\Wrapper.scala

[WARNING] java.lang.NoClassDefFoundError: scala/tools/nsc/Main
[WARNING] Caused by: java.lang.ClassNotFoundException:
scala.tools.nsc.Main
[WARNING] at java.net.URLClassLoader$1.run(URLClassLoader.java:
200)
[WARNING] at java.security.AccessController.doPrivileged(Native
Method)
[WARNING] at java.net.URLClassLoader.findClass(URLClassLoader.java:
188)
[WARNING] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
[WARNING] at sun.misc.Launcher$AppClassLoader.loadClass
(Launcher.java:301)
[WARNING] at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
[WARNING] at java.lang.ClassLoader.loadClassInternal
(ClassLoader.java:320)
[WARNING] Could not find the main class: scala.tools.nsc.Main.
Program will exit.
[WA

David Bernard

unread,
Mar 13, 2009, 7:25:06 AM3/13/09
to maven-a...@googlegroups.com
Hi,

the command seems OK (scala compilation doesn't used javac)
could you check if


C:\.m2\repository\org\scala-lang\scala-compiler\2.7.2\scala-compiler-2.7.2.jar

is not empty and contains scala/tools/nsc/Main.class and Main$.class ?

/davidB

cmoul...@gmail.com

unread,
Mar 13, 2009, 7:55:16 AM3/13/09
to Maven and Scala
I confirm that the jar is well there in my repository and contain the
classes mentioned

On Mar 13, 12:25 pm, David Bernard <david.bernard...@gmail.com> wrote:
> Hi,
>
> the command seems OK (scala compilation doesn't used javac)
> could you check if
> C:\.m2\repository\org\scala-lang\scala-compiler\2.7.2\scala-compiler-2.7.2.jar
> is not empty and contains scala/tools/nsc/Main.class and Main$.class ?
>
> /davidB
>
> On Fri, Mar 13, 2009 at 12:14, cmoulli...@gmail.com
> ...
>
> read more »

Josh Suereth

unread,
Mar 13, 2009, 8:05:20 AM3/13/09
to maven-a...@googlegroups.com, Maven and Scala
Try <fork>false</fork> in your maven-scala-plugin configuration

Sent from my iPhone

On Mar 13, 2009, at 7:55 AM, "cmoul...@gmail.com" <cmoul...@gmail.com
> wrote:

>>> \converters\ScalaTypeConverter.scala D:\Dvlpt\Java\workspace-

>>> \SIdempotentConsumerDefinition.scala D:\Dvlpt\Java\workspace-

>>> ganymede
>>> \apache-camel-source\components\camel-scala\src\main\scala\org
>>> \apache

>>> \camel\scala\dsl\SLoadBalanceDefinition.scala D:\Dvlpt\Java
>>> \workspace-
>>> ganymede\apache-camel-source\components\camel-scala\src\main\scala
>>> \org
>>> \apache\camel\scala\dsl\SLoopDefinition.scala D:\Dvlpt\Java
>>> \workspace-
>>> ganymede\apache-camel-source\components\camel-scala\src\main\scala
>>> \org
>>> \apache\camel\scala\dsl\SMulticastDefinition.scala D:\Dvlpt\Java
>>> \workspace-ganymede\apache-camel-source\components\camel-scala\src
>>> \main
>>> \scala\org\apache\camel\scala\dsl\SOnExceptionDefinition.scala D:
>>> \Dvlpt
>>> \Java\workspace-ganymede\apache-camel-source\components\camel-scala
>>> \src
>>> \main\scala\org\apache\camel\scala\dsl\SProcessDefinition.scala D:
>>> \Dvlpt\Java\workspace-ganymede\apache-camel-source\components\camel-
>>> scala\src\main\scala\org\apache\camel\scala\dsl
>>> \SProcessorDefinition.scala D:\Dvlpt\Java\workspace-ganymede\apache-
>>> camel-source\components\camel-scala\src\main\scala\org\apache\camel

>>> \scala\dsl\SResequenceDefinition.scala D:\Dvlpt\Java\workspace-

>>> ganymede
>>> \apache-camel-source\components\camel-scala\src\main\scala\org
>>> \apache

cmoul...@gmail.com

unread,
Mar 13, 2009, 8:32:14 AM3/13/09
to Maven and Scala
Always the same with fork added :

<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>${scala-plugin-version}</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<fork>false</fork>
</configuration>
</plugin>

On Mar 13, 1:05 pm, Josh Suereth <joshua.suer...@gmail.com> wrote:
> Try <fork>false</fork> in your maven-scala-plugin configuration
>
> Sent from my iPhone
>
> On Mar 13, 2009, at 7:55 AM, "cmoulli...@gmail.com" <cmoulli...@gmail.com
> ...
>
> read more »

David Bernard

unread,
Mar 13, 2009, 8:36:30 AM3/13/09
to maven-a...@googlegroups.com
What happens if you run :

D:\Soft\Sun\jdk1.6.0_12\jre\bin\java -classpath
C:\.m2\repository\org\scala-lang\scala-library\2.7.2\scala-library-2.7.2.jar;C:\.m2\repository\org\scala-lang\scala-compiler\2.7.2\scala-compiler-2.7.2.jar
-Xbootclasspath/a:C:\.m2repository\org\scala-lang\scala-library\2.7.2\scala-library-2.7.2.jar
scala.tools.nsc.Main

cmoul...@gmail.com

unread,
Mar 13, 2009, 8:57:16 AM3/13/09
to Maven and Scala
Same error. I have updated my plugin to the version 2.10.1 and the
error is still there

D:\Dvlpt\Java\workspace-ganymede\apache-camel-source\components\camel-
scala>D:\Soft\Sun\jdk1.6.0_12\jre\bin\java -classpath C:\.m2\repository
\org\scala-lang\scala-library
\2.7.2\scala-library-2.7.2.jar;C:\.m2\repository\org\scala-lang\scala-
compiler\2.7.2\scala-compiler-2.7.2.jar -Xbootclasspath/a:C:
\.m2repository\org\scala-lang\scala-libr
ary\2.7.2\scala-library-2.7.2.jar scala.tools.nsc.Main
Exception in thread "main" java.lang.NoClassDefFoundError: scala/tools/
nsc/Main
Caused by: java.lang.ClassNotFoundException: scala.tools.nsc.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
320)
Could not find the main class: scala.tools.nsc.Main. Program will
exit.


On Mar 13, 1:36 pm, David Bernard <david.bernard...@gmail.com> wrote:
> What happens if you run :
> D:\Soft\Sun\jdk1.6.0_12\jre\bin\java -classpath
> C:\.m2\repository\org\scala-lang\scala-library\2.7.2\scala-library-2.7.2.jar;C:\.m2\repository\org\scala-lang\scala-compiler\2.7.2\scala-compiler-2.7.2.jar
> -Xbootclasspath/a:C:\.m2repository\org\scala-lang\scala-library\2.7.2\scala-library-2.7.2.jar
> scala.tools.nsc.Main
>
> On Fri, Mar 13, 2009 at 13:32, cmoulli...@gmail.com
> ...
>
> read more »

cmoul...@gmail.com

unread,
Mar 13, 2009, 9:06:03 AM3/13/09
to Maven and Scala
I have removed the jar of my repository to force maven to reinstall it
and it WORKS WORKS (youpieeee). Strangely the size of the jar now is
6,5 Mb and the old was 2,5 Mb

On Mar 13, 1:57 pm, "cmoulli...@gmail.com" <cmoulli...@gmail.com>
wrote:
> ...
>
> read more »

David Bernard

unread,
Mar 13, 2009, 9:08:24 AM3/13/09
to maven-a...@googlegroups.com
Ouf

:)

Josh Suereth

unread,
Mar 13, 2009, 9:15:47 AM3/13/09
to maven-a...@googlegroups.com
wow, what version of maven (and are you using a "company" repo like archiva/nexus)?  I'm hoping someday they actually verify with checksum files that you have, in fact, downloaded the entire artifact!

-Josh
Reply all
Reply to author
Forward
0 new messages