我有一个hadoop工作,部署到amazonemr上。因为电子病历提供了 hadoop-core
jar,我已经在我的 pom
作为 provided
:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>0.20.2-cdh3u6</version>
<scope>provided</scope>
</dependency>
问题是当我想在intellij中调试jar时,它找不到这个jar中的一个类, org.apache.hadoop.util.RunJar
.
在intellij中调试/运行jar时,是否可以将intellij配置为在类路径上包含这个jar,但仍然从输出jar中排除这个jar?
我的本地机器上实际jar的路径是 /Users/jbrown/.m2/repository/org/apache/hadoop/hadoop-core/0.20.2-cdh3u6/hadoop-core-0.20.2-cdh3u6.jar
-我试着添加 -cp /Users/jbrown/.m2/repository/org/apache/hadoop/hadoop-core/0.20.2-cdh3u6/hadoop-core-0.20.2-cdh3u6.jar
运行配置中的vm选项,但是作业根本无法运行。
1条答案
按热度按时间ocebsuys1#
假设您使用的是依赖关系示例中的maven,那么可以使用多个maven概要文件来解决这个问题。
你可以喝一杯
prod
以及debug
包括dependencies
部分。调试者可以跳过provided
标记所有与hadoop相关的依赖项,这将包括最终jar中的依赖项。你可以在这里阅读更多关于maven的资料。