You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Nick Dimiduk (JIRA)" <ji...@apache.org> on 2013/07/09 18:59:50 UTC

[jira] [Commented] (HBASE-8200) Integration Test classes are not part of the default HBase classpath. We should fix this or note workaround in documentation

    [ https://issues.apache.org/jira/browse/HBASE-8200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13703497#comment-13703497 ] 

Nick Dimiduk commented on HBASE-8200:
-------------------------------------

hbase-assembly seems like the correct place to put this. IIRC, the trick from HBASE-7971 was to ensure the destination of the cached_classpath.txt was not cleaned by a subsequent step in the build. Adding all the other modules as dependencies of hbase-assembly will force that module to go last, which I suspect is what you require.

nit: {{mvn clean package -DskipTests}} is sufficient; {{install}} not required.

The generated file does indeed contain the hbase-it tests jar, so I think you've solved it.

IntegrationTestImportTsv runs via bin/hbase.

+1
                
> Integration Test classes are not part of the default HBase classpath. We should fix this or note workaround in documentation
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-8200
>                 URL: https://issues.apache.org/jira/browse/HBASE-8200
>             Project: HBase
>          Issue Type: Bug
>          Components: test
>         Environment: ubuntu
>            Reporter: Aleksandr Shulman
>            Assignee: Enis Soztutar
>             Fix For: 0.98.0, 0.95.2
>
>         Attachments: hbase-8200_v1.patch
>
>
> Expected behavior:
> Following the instructions here:
> http://hbase.apache.org/book/hbase.tests.html#integration.tests
> After pulling down the latest bits from trunk and running,
> > mvn clean compile test-compile package install assembly:assembly -DskipTests
> I should be able to run integration tests with the following command:
> > bin/hbase --config /path/to/configs  org.apache.hadoop.hbase.IntegrationTestsDriver
> According to the documentation, this should kick off the tests.
> Observed behavior:
> Upon executing 
> > bin/hbase --config /path/to/configs  org.apache.hadoop.hbase.IntegrationTestsDriver
> I see the following:
> Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/IntegrationTestsDriver
> Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.IntegrationTestsDriver
> 	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 can fix it by adding the following line to the hbase-env.sh file corresponding to the configs:
> export HBASE_CLASSPATH=/path/to/project/hbase/hbase-it/target/test-classes/
> This produces the correct output.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira