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

<build>
<resources>
<resource>
<directory>conf</directory>
</resource>
</resources>
......

1.5인거 1.6으로 수정...
</build>

<dependency>
	<groupId>log4j</groupId>
	<artifactId>log4j</artifactId>
	<version>1.2.15</version>
	<exclusions>
<exclusion>
<artifactId>jms</artifactId>
<groupId>javax.jms</groupId>
</exclusion>
<exclusion>
<artifactId>jmxtools</artifactId>
<groupId>com.sun.jdmk</groupId>
</exclusion>
<exclusion>
<artifactId>jmxri</artifactId>
<groupId>com.sun.jmx</groupId>
</exclusion>
</exclusions>
<optional>true</optional>
</dependency>

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

먼저 위에 써놓은 부분처럼 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.*;

 

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

Netbeans Plugins – 설치하기

예전에는 루비플러그인은 그냥 있었던 것 같은데…

7.1.2 버전에는 없어졌다.

왜 뺀거지?

어쨌든… 설치하려니까 골치아프다. 업데이트센터 등록해서 하고싶은데 잘 안된다.

오라클에서 먹어서 그런지… 이쪽 오픈소스 친구들이 넷빈즈를 버린 것 같다.

넷빈즈가 이클립스보다 순발력이 좋아서 좋아했었는데 안타깝다.

외국 웹에서 추천하는거 잘못 설치했더니 실행이 안된다.

오라클 사람 열받게 만드네

PluginPortal
http://plugins.netbeans.org/nbpluginportal/files/nbms/pluginportal-update-center.xml

ruby
http://plugins.netbeans.org/nbpluginportal/files/nbms/pluginportal-update-center.xml