java—在intellij运行配置中包括排除的JAR

gg0vcinb  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(340)

我有一个hadoop工作,部署到amazonemr上。因为电子病历提供了 hadoop-core jar,我已经在我的 pom 作为 provided :

  1. <dependency>
  2. <groupId>org.apache.hadoop</groupId>
  3. <artifactId>hadoop-core</artifactId>
  4. <version>0.20.2-cdh3u6</version>
  5. <scope>provided</scope>
  6. </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选项,但是作业根本无法运行。

ocebsuys

ocebsuys1#

假设您使用的是依赖关系示例中的maven,那么可以使用多个maven概要文件来解决这个问题。
你可以喝一杯 prod 以及 debug 包括 dependencies 部分。调试者可以跳过 provided 标记所有与hadoop相关的依赖项,这将包括最终jar中的依赖项。
你可以在这里阅读更多关于maven的资料。

相关问题