Подтвердить что ты не робот

Каскадные примеры не удалось скомпилировать?

В оболочке я напечатал gradle cleanJar в каталоге Impatient/part1. Выход ниже. Ошибка: файл класса для org.apache.hadoop.mapred.JobConf не найден. Почему это не удалось скомпилировать?

:clean UP-TO-DATE
:compileJava
Download http://conjars.org/repo/cascading/cascading-core/2.0.1/cascading-core-2.0.1.pom
Download http://conjars.org/repo/cascading/cascading-hadoop/2.0.1/cascading-hadoop-2.0.1.pom
Download http://conjars.org/repo/riffle/riffle/0.1-dev/riffle-0.1-dev.pom
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.pom
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-parent/1.6.1/slf4j-parent-1.6.1.pom
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.pom
Download http://conjars.org/repo/thirdparty/jgrapht-jdk1.6/0.8.1/jgrapht-jdk1.6-0.8.1.pom
Download http://repo1.maven.org/maven2/org/codehaus/janino/janino/2.5.16/janino-2.5.16.pom
Download http://conjars.org/repo/cascading/cascading-core/2.0.1/cascading-core-2.0.1.jar
Download http://conjars.org/repo/cascading/cascading-hadoop/2.0.1/cascading-hadoop-2.0.1.jar
Download http://conjars.org/repo/riffle/riffle/0.1-dev/riffle-0.1-dev.jar
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar
Download http://repo1.maven.org/maven2/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar
Download http://conjars.org/repo/thirdparty/jgrapht-jdk1.6/0.8.1/jgrapht-jdk1.6-0.8.1.jar
Download http://repo1.maven.org/maven2/org/codehaus/janino/janino/2.5.16/janino-2.5.16.jar
/home/is_admin/lab/cascading/Impatient/part1/src/main/java/impatient/Main.java:50: error: cannot access JobConf
    Tap inTap = new Hfs( new TextDelimited( true, "\t" ), inPath );
                ^
  class file for org.apache.hadoop.mapred.JobConf not found
1 error
:compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 22.599 secs
4b9b3361

Ответ 1

попробуйте использовать Java 6, gradle имеет некоторые известные проблемы с java 7

Ответ 2

Добавьте hasoop-core-1.x.y.jar из дистрибутива adoop в путь.

Это работало для меня в примере CoPA. Я добавил к пути сборки eclipse.

Добавьте это в раздел gradle зависимостей {}

compile (группа: 'org.apache.hadoop', имя: 'hadoop-core', версия: '1.2.0')

Ответ 3

Кажется, что класс не найден, проверьте библиотеки в записи пути построения.

Ответ 4

У меня была та же проблема, что и сегодня, при помощи Cascading for the Impatient. Я решил добавить следующее в build.gradle в разделе dependencies:

compile 'org.apache.hadoop:hadoop-client:2.3.0'

Я хотел использовать Hadoop 2.3.0, но я предполагаю, что вы можете выбрать свою собственную версию Hadoop.

PS. Чтобы использовать первый пакет hadoop-mapred, вы должны добавить вместо него следующее:

compile 'org.apache.hadoop:hadoop-mapred:0.22.0'

Вы можете найти все репозиции, которые могут вам понадобиться для Hadoop здесь.

Ответ 5

Спасибо Лалит, Добавление строки ниже помогло мне без необходимости менять версию Java.

compile( group: 'org.apache.hadoop', name: 'hadoop-core', version: '1.2.0' )

В качестве альтернативы, я даже могу добавить jar hadoop-core в путь к классу и упомянуть это в пути gradle