我正在尝试运行需要与hdfs通信的spring boot嵌入式Web容器应用程序。我在我的pom.xml中包含了spring数据hadoop但是当我在集群上运行应用程序时出现了这个错误
引起:java.io.FileNotFoundException:在hdfspub-0.0.1-SNAPSHOT.jar中找不到JAR条目lib / hadoop-core-1.2.1.jar!/ core-default.xml 在.jar.JarURLConnec ... ction.java:122) 在JarURLConnec ... ction.java:132) at com.sun.org.apache.xerces.internal.impl.XMLEntityM anager.setupCurrentEntity(XMLEntityManager.java:65 1) at com.sun.org.apache.xerces.internal.impl.XMLVersion Detector.determineDocVersion(XMLVersionDetector.ja va:186) at com.sun.org.apache.xerces.internal.parsers.XML11Co nfiguration.parse(XML11Configuration.java:772) at com.sun.org.apache.xerces.internal.parsers.XML11Co nfiguration.parse(XML11Configuration.java:737) 在com.sun.org.apache.xerces.internal.parsers.XMLPars er.parse(XMLParser.java:119) 在com.sun.org.apache.xerces.internal.parsers.DOMPars er.parse(DOMParser.java:232) 在com.sun.org.apache.xerces.internal.jaxp.DocumentBu ilderImpl.parse(DocumentBuilderImpl.java:284) 在javax.xml.parsers.DocumentBuilder.parse(DocumentBu ilder.java:180) 在org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1156)
即使我想看看我的罐子,我也能看到hadoop-core-1.2.1.jar在那里
$ unzip -l hdfspub-0.0.1-SNAPSHOT.jar | grep hadoop-core-1.2.1.jar 4203713 10-25-2013 21:04 lib / hadoop-core-1.2.1.jar
任何帮助将不胜感激
答案 0 :(得分:0)
我有同样的问题,解决方法是将hadoop.core添加到你的pom / build.gradle中,但你必须从spring.data.hadoop和apache.hadoop组中排除:
我的build.gradle:
compile('org.apache.hadoop:hadoop-core:1.2.1'){
exclude group: 'org.mortbay.jetty'
exclude group: 'javax.servlet'
exclude group: 'tomcat'
}
compile('org.springframework.data:spring-data-hadoop:1.0.2.RELEASE') {
exclude group: 'org.mortbay.jetty'
exclude group: 'javax.servlet'
exclude group: 'tomcat'
}