Не удалось загрузить файл JAR "Не удалось загрузить класс"
Я пытаюсь проанализировать файл DMOZ, используя этот код. Однако после запуска кода приложение останавливается в начале, выдавая следующие исключения:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:146)
at org.apache.nutch.util.NutchConfiguration.create(NutchConfiguration.java:59)
at dmozparser.DmozParser.main(DmozParser.java:375)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
Если баночка установлена на no-operation
Тогда почему они использовали его в этом куске кода? (если это так, и если это не так, то) Как решить эту проблему?
РЕДАКТИРОВАТЬ
в соответствии с этим я добавил еще одну банку и теперь есть еще одно исключение:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:146)
at org.apache.nutch.util.NutchConfiguration.create(NutchConfiguration.java:59)
at dmozparser.DmozParser.main(DmozParser.java:339)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
РЕДАКТИРОВАТЬ 2
добавленной commons-logging-1.2.jar
и теперь кажется, что есть UnsupportedOperationException
:
Failed to set setXIncludeAware(true) for parser org.apache.xerces.jaxp.DocumentBuilderFactoryImpl@723279cf:java.lang.UnsupportedOperationException: setXIncludeAware is not supported on this JAXP implementation or earlier: class org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
java.lang.UnsupportedOperationException: setXIncludeAware is not supported on this JAXP implementation or earlier: class org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
at javax.xml.parsers.DocumentBuilderFactory.setXIncludeAware(DocumentBuilderFactory.java:584)
at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:1131)
at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:1107)
at org.apache.hadoop.conf.Configuration.getProps(Configuration.java:1053)
at org.apache.hadoop.conf.Configuration.set(Configuration.java:420)
at org.apache.nutch.util.NutchConfiguration.setUUID(NutchConfiguration.java:41)
at org.apache.nutch.util.NutchConfiguration.create(NutchConfiguration.java:60)
at dmozparser.DmozParser.main(DmozParser.java:339)
Это кажется что org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
не поддерживается, но как заменить его на соответствующий?