我有一个奇怪的问题。我正在尝试调试一个hadoop工作。我已经创建了一个主要类为org.apache.hadoop.util.RunJar
的配置文件。我可以在浏览对话框中找到此信息,方法是查看external libraries
,然后查看hadoop-core-xxx.jar
,org.apache.hadoop
,然后utils
和RunJar
。
当我尝试实际运行此配置时,它会失败并显示日志消息Error: Could not find or load main class org.apache.hadoop.util.RunJar
。奇怪的是,我在intellij中有另一个项目完全相同的AFAICT工作。但是这个特定的项目只是拒绝找到RunJar
。
两者都有相同的maven依赖:
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>0.20.2-cdh3u6</version>
<scope>provided</scope>
</dependency>
两者都将工作目录设置为/usr/local/opt/hadoop121
,并且都选中了single instance only
框。我很困难,为什么我可以调试一个项目,但另一个项目找不到。
我已同步项目,无效的缓存,确认hadoop-core-xxx.jar
列在external libraries
下...我错过了什么?我在OSX上使用最新版本的intellij IDEA。
答案 0 :(得分:0)
问题是hadoop库是provided
,即从jar中排除。注释掉以下行解决了这个问题:
<scope>provided</scope>