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

Java 在intellij运行配置中包括排除的JAR,java,maven,hadoop,intellij-idea,jar,Java,Maven,Hadoop,Intellij Idea,Jar,我有一个hadoop任务部署到AmazonEMR。因为EMR提供了一个hadoop核心jar,所以我在pom中将依赖项配置为提供的: <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> <version>0.20.2-cdh3u6</versi

我有一个hadoop任务部署到AmazonEMR。因为EMR提供了一个
hadoop核心
jar,所以我在
pom
中将依赖项配置为
提供的

    <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-core</artifactId>
        <version>0.20.2-cdh3u6</version>
        <scope>provided</scope>
    </dependency>

org.apache.hadoop
hadoop内核
0.20.2-cdh3u6
假如
问题是,当我想在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
——我已经尝试在运行配置中向VM选项添加
-cp/Users/jbrown/.m2/repository/org/apache/hadoop/hadoop-core/0.20.2-cdh3u6/hadoop-core-0.20.2-cdh3u6.jar
,但是作业根本无法运行。

假设您使用的是依赖关系示例中的maven,您可以使用多个maven配置文件来解决此问题

您可以有一个
prod
debug
配置文件,其中包括一个
依赖项
部分。debug-one可以跳过为所有hadoop相关依赖项提供的
标记,这将包括最终JAR中的依赖项


您可以阅读有关maven配置文件的更多信息。

假设……maven?如果是,请向可能有答案的用户澄清。也可以考虑修改你对每个jar的引用,并使用一致的命名约定,让用户更容易理解。如果你觉得这个建议能解决你的问题,请投赞成票。谢谢Hadoop快乐!