2012-09-20 5 views
42

셸에서 Impatient/part1 디렉토리에 cleanJar을 입력했습니다. 출력은 다음과 같습니다. 오류는 "org.apache.hadoop.mapred.JobConf에 대한 클래스 파일이 없습니다."입니다. 왜 컴파일에 실패 했습니까? 자바 6 사용계단식 예제를 컴파일하지 못했습니다?

: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 
+12

나는이가 폐쇄해야한다고 생각하지 않는 클래스 경로에 하둡 코어 항아리를 추가하고 Gradle을 경로에 그 언급 할 수 있습니다 문제를 여기에 그 gradle 자바 7 멋지게 재생되지 않습니다 및 7.x JDK를 계단식 자습서를 통해가는 모든 사람이이 문제가됩니다. 추가 할 수있는 해답은 계단식 자습서에서 Java 6 JDK를 사용하는 것입니다. –

+0

https://groups.google.com/d/topic/cascading-user/XEZapg4uqdI/discussion – hertzsprung

+0

참조 너는 hadoop이 설치되어 있지 않아 wordcount/build.gradle에 "{transitive = false } "그래서 설치하지 않습니다. 그것을 제거하면 빌드됩니다. –

답변

1

시도는, Gradle을 그것은 발견되지 클래스처럼 보인다 자바 7

0

몇 가지 알려진 문제가, 빌드 경로 항목의 라이브러리를 확인하시기 바랍니다.

1

hadoop 배포본에서 hadoop-core-1.x.y.jar를 경로에 추가하십시오.

이것은 나를 CoPA 예제로 사용했습니다. 나는 이클립스 빌드 경로에 추가했다. 내가 가진

0

('1.2.0': 'org.apache.hadoop'이름 : '하둡 코어'버전 그룹)

하면이 종속성 {} 섹션

컴파일을 Gradle을 추가 오늘도 동일한 문제로 Cascading for the Impatient 자습서를 시도합니다.

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

내가 하둡 2.3.0 사용하고 싶었,하지만 난 당신이 하둡의 자신의 버전을 선택할 수 있습니다 추측 : 나는하여 dependencies 섹션에서 내 build.gradle에 다음과 같은 추가 해결했다.

PS : 첫 번째 hadoop-mapred 패키지를 사용하려면, 당신은 대신에 다음을 추가해야합니다 :

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

당신은 당신이 하둡 here에 필요한 수있는 모든 REPOS를 찾을 수 있습니다. 더 그랜드, 은 아래 라인을 추가

0

덕분없이 나를 위해 속임수를 썼는지 어떤 자바 버전 ..

컴파일 (그룹 변경해야합니다 : 'org.apache.hadoop을'이름 '하둡 코어', 버전 :

또는 '1.2.0'), 난

관련 문제