Nutch 2.0 Eclipse에서 돌리기 Maven이용

참고사이트
http://foreblue.net/wiki/index.php/Nutch_%EC%B4%88%EA%B0%84%EB%8B%A8_%EB%B9%8C%EB%93%9C%EC%99%80_%EC%8B%A4%ED%96%89
http://foreblue.net/wiki/index.php/Nutch_%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD%EA%B5%AC%EC%84%B1

넛츠 개발자넘들은 도대체 뭘로 개발하는건지 모르겠다. 메이븐이 제대로 안 돌아간다.

먼저 위에 써놓은 부분처럼 pom.xml을 수정해줘야한다.

기타 의존성 문제는 에러메세지를 보면서 추가하면 금방 해결된다. 사람마다 다른 메세지가 뜰테니…

 

2.넛츠 튜토리얼에 있는것처럼 추가한다.

http://wiki.apache.org/nutch/NutchTutorial

nutch-site.xml.template로 돼 있는파일 nutch-site.xml로 변경 후 튜토리얼 보고 셋팅하고

regex-urlfilter.txt요곳도 변경

 

3. 실행설정

이클립스 java 실행 설정

org.apache.nutch.crawl.Crawler
urls -dir crawl -depth 3 -topN 50
-Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log

4.

 

 

 

 

 

 

 

 

 

Nutch 2.0 Eclipse에서 돌리기 Ivy이용

일단 구동까지 성공과정이다.
http://wiki.apache.org/nutch/RunNutchInEclipse
http://techvineyard.blogspot.kr/2010/12/build-nutch-20.html#Datastores
https://issues.apache.org/jira/browse/NUTCH-970
http://foreblue.net/wiki/index.php/Nutch_%EC%B4%88%EA%B0%84%EB%8B%A8_%EB%B9%8C%EB%93%9C%EC%99%80_%EC%8B%A4%ED%96%89
http://foreblue.net/wiki/index.php/Nutch_%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD%EA%B5%AC%EC%84%B1

이 세 포스팅을 순서대로 보고 따라하면 나와 같은 결과까지는 얻을 수 있을 것 같다.아마도..
구동환경 mac lion, sts2.92, mysql 5.5

https://svn.apache.org/repos/asf/nutch/trunk
에서 코드를 받는다.
현재 시점에서 trunk에는 2.0이 아닌 1.6버전으로 표시가 되어 있고 아주 최신버전은 branch의 2.x였다. 그래서 그걸 받았다.
revision 1366348

maven으로 임포트하면 의존성이 제대로 처리가 안된다. pom파일만 가지고 한참 씨름을 해야한다.

!! 프로젝트 우클릭 > Configure > Convert to Maven Project
이 명령으로 폴더를 자동으로 잡아주는것까지만 처리한다.

!! 그리고 메이븐취소하고 프로젝트 우클릭 > Configure > Add ivy dependency management
!! conf 폴더는 자동으로 추가가 안된다. 수동으로 클래스패스에 추가한다. 그리고 맨 위로 올려놓는다.(이건 꼭 안해도 되는데 해야 에러가 덜난다고한다)

!! ivy.xml 우클릭 add library

!! build.xml 앤트 컴파일

!! run 설정
클래스 : org.apache.nutch.crawl.Crawl
Program Arguments : urls -dir crawl -depth 3 -topN 50
VM arguments : -Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log

여기서 실행! 하면 당연히 안돌아간다.

http://wiki.apache.org/nutch/NutchTutorial
!! conf에 있는 파일들에 터미널에서 실행할 때 설정해주는 부분 다 셋팅해준다. urls도 해주고 이것저것….

아직도 더 남았다.
지금 실행시키면 고라 어쩌고저쩌고 에러가 날거다.
한참 찾아봤는데… 넛치의 코드에 hsql을 실행시켜주는 코드가 없는 것 같다.
그래서 컴퓨터에 깔려있는 mysql과 연결시켰다.

!! gora.properties mysql connection string 설정, ivy 의존성파일에 주석쳐있는 mysql 부분을 봉인해제해준다.

아직도 안된다.
utf8-general-ci로 해놓으면 안된다고한다. Gora에 있는 버그인것같다.
이것도 수정

!! crawl폴더가 없다는 오류 발생

프로그램은 돌아간다.
근데 수집을 하지는 않는다. 설정이 머가 잘못된걸까?

[펌]junit test.. eclipse에서 static import 쉽게하기

출처 : http://toby.epril.com/?p=1126

static import를 위해서 Templates을 사용한다. Preference – Java – Editor 밑에 있는 Templates은 미리 간단한 이름를 정해놓고 이를 타이핑하고 ctrl-space를 누르면 미리 넣어둔 코드 조각(템플릿)이 한방에 나오는 기능이다. main은 main() 메소드를 만들 때 사용하고 sysout는 Sytem.out.println()을 만들어준다. 반복적으로 나오는 코드 패턴에 적용하기 좋다. 나는 여기에 ti라는 이름으로 다음과 같은 코드를 넣어놨다. ti는 test imports…

import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import static org.junit.matchers.JUnitMatchers.*;
import static org.mockito.Matchers.*;
import static org.mockito.Mockito.*;

 

자주 사용하는게 있다면 이런식으로 설정해놓으면 편리할 것 같다.

이클립스 윈도우 64비트에서 svn 설치하고 사용하기

이클립스에서 일단 svn을 설치

Help – Install 에서

네임 : Subclipse 1.6

주소 : http://subclipse.tigris.org/update_1.6.x

이렇게 추가해주고 대충 봐서 설치한다.

잘 모르면 다 하면 이런저런거 다 설치된다.  고민할 여유가 없고 용량도 많으니 고민 할 필요도 없다.

 

프로젝트에 우클릭 – Team – Share 클릭하면

다양한 에러메세지와 함께 오류를 토해낸다.

 

이 때 이걸 설치하면 된다능

http://subclipse.tigris.org/wiki/JavaHL

이라고 이클립스가 알려준다.

 

요기가서 64비트 윈도우를 클릭하면

Windows 64-bit

If you are using a 32-bit JVM, then Subclipse should just work. If you use a 64-bit JVM then you need to provide a 64-bit version of JavaHL. One such distribution is SlikSVN which you can get here:

http://www.sliksvn.com/en/download

With that package installed, Subclipse should find JavaHL on PATH and just work.

요렇게 써 있다. 이프유가 32비트 JVM을 쓰고있으면 섭클립스 그냥 일한다. 네가 만약 64비트를 쓰고 있다면 그 때는 64비트 JAVAHL을 내놔야 된다. 그냥 이거 깔어. 링크

OSx에서는 이렇게 하면 된다고 한다.

그 밑에는 리눅스도 있다.

OS X

The easiest thing to do is download and install the OSX package that is provided on openCollabNet. This installs Subversion, including the JavaHL library, into /opt/subversion. It then makes a symlink for the JavaHL library into /Library/Java/Extensions. This is a global location that the OSX JVM looks in when loading libraries via JNI. So basically, if you install this package, there is nothing else you need to do. It is OK to install this after you have installed Subclipse. These binaries are Universal including 32 and 64-bit variants which can be important if you use different JVM’s.

?MacPorts also provides an easy Subversion and JavaHL package, however on Snow Leopard ?MacPorts is still compiling these packages as simple 32-bit binaries. If you use the default Snow Leopard JVM which is 64-bit you will get an error like this when JavaHL is loaded:

 

Note the error about wrong architecture. This is because the 64-bit JVM cannot load a 32-bit native library. The ?CollabNet binaries for OSX do not have this problem because they include both 32-bit and 64-bit versions.

 

JAVAHL만 선택해서 설치할수도 있고 뭐 다 깔아도 된다. 용량도 많은데 그냥 티피컬 OKOKNEXT 하면 된다.

 

이렇게 하면 진짜 된다.

2011.09.30 새벽

Eclipse Indigo에서…