Установка плагина Eclipse Hadoop
У меня такой кошмар с плагином затмения Hadoop. Прежде всего, последняя версия Hadoop (которая 1.1.1) даже не включает файл jar плагина Eclipse. версия 1.0.4 имеет плагин, но он не работает. Более ранние версии Hadoop, такие как 0.22.0, имеют плагин, и он работает, но тогда эти версии Hadoop старые, и я хочу работать с последней версией. Итак, в чем дело с плагином Eclipse для Hadoop? Почему последние версии либо не имеют плагина, либо если они делать, то плагин не работает? У всех так много проблем с этим плагином? Должен ли я отказаться от этого плагина?
спасибо, Шеннон!--1-->
2 ответов
вчера я с трудом установил плагин eclipse для hadoop-1.0.4 и успешно протестировал его.
причиной плагин не работает, что пакет jar потеряли несколько библиотек :
- commons-cli-1.2.Джар
- commons-конфигурация-1.6.Джар
- jackson-core-asl-1.8.8.Джар
- jackson-mapper-asl-1.8.8.Джар
- commons-httpclient-3.0.1.Джар
- commons-lang-2.4.Джар
вы может cp это банки из ${hadoop} / lib to ${jar} / lib, и не забудьте изменить манифест.
для удобства я добавляю код в ${eclipse-plugin-src} / сборка.в XML цель jar
<copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-configuration-${commons-configuration.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-httpclient-${commons-httpclient.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/commons-lang-${commons-lang.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/jackson-core-asl-${jackson.version}.jar" todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.root}/lib/jackson-mapper-asl-${jackson.version}.jar" todir="${build.dir}/lib" verbose="true"/>
и изменен манифест.MF на ${eclipse-plugin-src} / META-INF
undle-ClassPath: classes/,
lib/hadoop-core.jar,
lib/commons-cli-1.2.jar,
lib/commons-configuration-1.6.jar,
lib/jackson-core-asl-1.8.8.jar,
lib/commons-httpclient-3.0.1.jar,
lib/jackson-mapper-asl-1.8.8.jar,
lib/commons-lang-2.4.jar
rebuild eclipse-плагин, и получайте удовольствие!
Ну, в сочетании с ответом hs3180, вот что я на самом деле сделал в настройке компиляции.
-
на ${eclipse-plugin-src} / сборка.в XML, используйте следующие директивы для включения необходимых банок плагином eclipse. Обратите внимание, что вместо
${hadoop.root}/build
копированиеhadoop-core-${version}.jar
сейчас от${hadoop.root}
напрямую, потому что если вы используете скомпилированную версию hadoop, то${hadoop.root}/build
папка будет фактически пустой. Копированиеcommons-cli-${commons-cli.version}.jar
теперь от${hadoop.root}/lib
по той же причине.<!-- <copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/> --> <!-- <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/> --> <copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/> <copy file="${hadoop.root}/lib/commons-cli-${commons-cli.version}.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/commons-configuration-${commons-configuration.version}.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/commons-httpclient-${commons-httpclient.version}.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/commons-lang-${commons-lang.version}.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/jackson-core-asl-${jackson.version}.jar" todir="${build.dir}/lib" verbose="true"/> <copy file="${hadoop.root}/lib/jackson-mapper-asl-${jackson.version}.jar" todir="${build.dir}/lib" verbose="true"/>
-
изменить ${eclipse-plugin-src}/META-INF / MANIFEST.MF, в
${hadoop.root}
папка видна javac, потому что Eclipse-plugin ссылается на классы hadoop. Эта установка отличается от первых двух по назначению и, таким образом, не является необязательной.<!-- Properties added for compiling eclipse-plugin --> <!-- http://yiyujia.blogspot.com/2012/11/build-hadoop-eclipse-plugin-from-source.html --> <property name="eclipse.home" location="/Users/xuj/Downloads/eclipse/"/> <property name="version" value="1.0.4"/> <property name="commons-cli.version" value="1.2"/> <!-- the normal classpath --> <path id="contrib-classpath"> <fileset dir="${hadoop.root}"> <include name="*.jar" /> </fileset> <!-- more path elements go here --> </path>
когда все файлы настроены правильно, называют 'кувшин муравей С ${eclipse-plugin-src}/
в консоли должно быть достаточно для остальных.