2013-03-21 2 views
0

나는 액션에 두싯을 읽고 yum을 통해 제 2 장두싯 자바 컴파일 문제

$ javac RecommenderIntro.java 
RecommenderIntro.java:2: error: package org.apache.mahout.cf.taste.impl.model.file does not exist 
import org.apache.mahout.cf.taste.impl.model.file.*; 
^ 
RecommenderIntro.java:3: error: package org.apache.mahout.cf.taste.impl.neighborhood does not exist 
import org.apache.mahout.cf.taste.impl.neighborhood.*; 
^ 
RecommenderIntro.java:4: error: package org.apache.mahout.cf.taste.impl.recommender does not exist 
import org.apache.mahout.cf.taste.impl.recommender.*; 

내가 두싯 설치에 the first example을하고 있어요 :

$ sudo yum install mahout 
... 
Downloading Packages: 
mahout-0.7+12-1.cdh4.2.0.p0.9.el6.noarch.rpm      | 94 MB  05:17  
Running rpm_check_debug 
Running Transaction Test 
Transaction Test Succeeded 
Running Transaction 
Updating : mahout-0.7+12-1.cdh4.2.0.p0.9.el6.noarch    1/2 
Cleanup : mahout-0.7+8-1.cdh4.1.2.p0.12.el6.noarch    2/2 
Verifying : mahout-0.7+12-1.cdh4.2.0.p0.9.el6.noarch    1/2 
Verifying : mahout-0.7+8-1.cdh4.1.2.p0.12.el6.noarch    2/2 

Updated: 
mahout.noarch 0:0.7+12-1.cdh4.2.0.p0.9.el6                

Complete! 

또한 자바에 새로운 완전히 브랜드입니다.

잘못 컴파일하나요?

javac를 호출 할 때 명령 줄에 일부 포함 경로를 지정해야합니까?

+0

Java 프로젝트 경로에 라이브러리를 포함 할 필요가 없습니까? –

답변

2

그래서 필요한 병이 어디에 있는지 알게되면 간단합니다. cloudera mahout 배포판에서는/usr/lib/mahout과/usr/lib/mahout/lib에 있습니다.

$ javac -cp "/usr/lib/mahout/*:/usr/lib/mahout/lib/*:." RecommenderIntro.java 
$ java -cp "/usr/lib/mahout/*:/usr/lib/mahout/lib/*:." RecommenderIntro 

RecommendedItem[item:104, value:4.257081] 
+0

정확히 맞습니다. 나는 몇 가지 비우호적 인 의견이 관련 질문에 대해 나에게 지적한 것을 본다. 나는 "트롤"하거나 보복하지 않습니다. 다른 누군가가 당신을 싫어 했어. 나는 이것을 사실로 표결했다. 저의 감정에 동의하지 않고 사회자가 나중에 삭제 한 의견에 대해이 문제에 접근하는 동안 "불화"에 해당하지 않습니다. 나는 항상 다른 모든 질문과 같이 양성과 일치합니다. –

+0

감사합니다. 나는 그것에 감사 드리며 동의합니다. 당신의 책은 훌륭하고, 매일 작업하고 있습니다. –

1

이것은 간단한 자바 관련 질문입니다. 패키지를 설치하면 그 자체로는 javac 명령에 영향을주지 않습니다. 컴파일에 필요한 모든 클래스를 항상 -cp 인수에 포함해야합니다.

IDE 나 Maven 같은 의존성을 가져올 수있는 빌드 시스템을 사용하는 것이 훨씬 쉽습니다.

0

우리는 classpath를 얻을 수 mahout 명령을 사용할 수 있지만, 경우에 따라서는 추가 정보를 제공합니다. 파일을 $MAHOUT_HOME/bin/mahout으로 변경하면 제대로 작동합니다.

javac -cp `mahout classpath` File.java -d classes