You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@pig.apache.org by Alex Rovner <al...@gmail.com> on 2011/06/23 18:08:25 UTC

Pig Unit Classnotfound

Hello,

I have created a new maven project in Eclipse and have added the following
dependencies:
        <dependency>
            <groupId>org.apache.pig</groupId>
            <artifactId>pig</artifactId>
            <version>0.10.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.pig</groupId>
            <artifactId>pigunit</artifactId>
            <version>0.10.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
            <version>0.20.2</version>
        </dependency>

Prior to that I have built and installed pig jars using:
ant mvn-install

I have copy pasted from the pig unit docs a sample pigunit test case and
when I ran it, it produced the following error:

java.lang.NoClassDefFoundError: jline/ConsoleReaderInputStream
    at
org.apache.pig.pigunit.pig.PigServer.registerScript(PigServer.java:50)
    at org.apache.pig.pigunit.PigTest.registerScript(PigTest.java:160)
    at org.apache.pig.pigunit.PigTest.assertOutput(PigTest.java:251)
    at
com.proclivitysystems.etl.udf.wec.WecParserTest.testTop2Queries(WecParserTest.java:62)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at
org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
    at
org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
    at
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
    at
org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
    at
org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
    at
org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:71)
    at
org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
    at
org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
    at
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
    at
org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
    at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
    at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: java.lang.ClassNotFoundException: jline.ConsoleReaderInputStream
    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:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    ... 24 more


Any clues?

Thanks
Alex

Re: Pig Unit Classnotfound

Posted by Mark Roddy <ma...@gmail.com>.
On Thu, Jun 23, 2011 at 12:08 PM, Alex Rovner <al...@gmail.com> wrote:
> Hello,
>
> I have created a new maven project in Eclipse and have added the following
> dependencies:
>        <dependency>
>            <groupId>org.apache.pig</groupId>
>            <artifactId>pig</artifactId>
>            <version>0.10.0-SNAPSHOT</version>
>        </dependency>
>        <dependency>
>            <groupId>org.apache.pig</groupId>
>            <artifactId>pigunit</artifactId>
>            <version>0.10.0-SNAPSHOT</version>
>        </dependency>
>        <dependency>
>            <groupId>org.apache.hadoop</groupId>
>            <artifactId>hadoop-core</artifactId>
>            <version>0.20.2</version>
>        </dependency>
>
> Prior to that I have built and installed pig jars using:
> ant mvn-install
>
> I have copy pasted from the pig unit docs a sample pigunit test case and
> when I ran it, it produced the following error:
>
> java.lang.NoClassDefFoundError: jline/ConsoleReaderInputStream
>    at
> org.apache.pig.pigunit.pig.PigServer.registerScript(PigServer.java:50)
>    at org.apache.pig.pigunit.PigTest.registerScript(PigTest.java:160)
>    at org.apache.pig.pigunit.PigTest.assertOutput(PigTest.java:251)
>    at
> com.proclivitysystems.etl.udf.wec.WecParserTest.testTop2Queries(WecParserTest.java:62)
>    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    at java.lang.reflect.Method.invoke(Method.java:597)
>    at
> org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
>    at
> org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
>    at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>    at
> org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
>    at
> org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
>    at
> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:71)
>    at
> org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
>    at
> org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
>    at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
>    at
> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
>    at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
>    at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>    at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>    at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>    at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>    at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: java.lang.ClassNotFoundException: jline.ConsoleReaderInputStream
>    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:307)
>    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
>    ... 24 more
>
>
> Any clues?
>
> Thanks
> Alex
>

I don't know what the eclipse way of doing so is, but effectively you
need to make sure that the jline jar is in your classpath.

-Mark