Java 在intellij运行配置中包括排除的JAR
我有一个hadoop任务部署到AmazonEMR。因为EMR提供了一个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核心
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快乐!