Hi Li Li,

This is happening because Hadoop expects classes.jar to be in a location
which no longer exists on Java 7 on Mac.

Below steps will fix it,
$ mkdir -p
 /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home/Classes/
$ cd !$
$ ln -s
/Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home/lib/tools.jar
classes.jar


Thanks,
Mahesh



On Mon, Oct 20, 2014 at 12:39 AM, Li Li <fancye...@gmail.com> wrote:

> it says can't find tools at
>
> Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home/Classes/classes.jar
> My JAVA_HOME is
> /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/home.
> I can find tools.jar in $JAVA_HOME/lib directory.
> Why it try to find tools.jar in
>
> Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home/Classes/classes.jar?
>
> the command line output is:
>
> Exception in thread "main" java.lang.AssertionError: Missing tools.jar
> at:
> /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home/Classes/classes.jar.
> Expression: file.exists()
>
> at
> org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:395)
>
> at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:683)
>
> at
> org.codehaus.mojo.jspc.CompilationMojoSupport.findToolsJar(CompilationMojoSupport.groovy:371)
>
> at
> org.codehaus.mojo.jspc.CompilationMojoSupport.this$4$findToolsJar(CompilationMojoSupport.groovy)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
> at java.lang.reflect.Method.invoke(Method.java:606)
>
> at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
>
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
>
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
>
> at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
>
> at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrent0(ScriptBytecodeAdapter.java:112)
>
> at
> org.codehaus.mojo.jspc.CompilationMojoSupport.execute(CompilationMojoSupport.groovy:318)
>
> at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
>
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
>
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.executeForkedExecutions(MojoExecutor.java:365)
>
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:199)
>
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
>
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
>
> at
> org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
>
> at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
>
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
>
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
>
> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
>
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
>
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>
> at java.lang.reflect.Method.invoke(Method.java:606)
>
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
>
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
>
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
>
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
>

Reply via email to