준비물 : maven 3.x, nodejs (0.10.36 버전 사용)
1. 의존성으로 추가하고자 하는 jar 파일을 자신의 maven local repository(~/.m2/repository) 에 등록한다.
from http://www.mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/
$ mvn install:install-file -Dfile={file-path} -DgroupId={group id}-DartifactId={artifactId} -Dversion={version} -Dpackaing=jar
가령 작성자의 경우는 원하는 파일을 다음과 같이 추가하였다:
$ mvn install:install-file -Dfile=../count/target/count-1.0.0.jar -DgroupId=.com.tistory.tkyoo.hbase.coprocessor -DartifactId=count -Dversion=1.0.0 -Dpackaging=jar
해당 커맨드로 BUILD SUCCESS를 본다면, ~/.m2/repository/ 밑에 groupid + artifactid + version에 해당하는 폴더에 jar 파일 및 pom 파일이 작성되어 있다.
나의 경우,
/home/tkyoo/.m2/repository/com/tistory/tkyoo/hbase/coprocessor/count/1.0.0
와 같은 폴더 안에 count-1.0.0.jar 파일 및 count-1.0.0.pom 파일이 존재하였다.
2. Nodejs를 이용한 초간단 http 서버 띄우기
from http://stackoverflow.com/questions/6084360/using-node-js-as-a-simple-web-server
nodejs를 설치했다면, 다음과 같은 2가지 node module을 설치하면 3줄 만으로 실행한 폴더 밑을 접근할 수 있는 http server를 띄울 수 있다.
$ npm install connect serve-static
server로 사용할 js 파일: (간단하게 server.js)
var connect = require('connect');
var serveStatic = require('serve-static');
connect().use(serveStatic(__dirname)).listen(8080);
해당 javascript 파일을 저장한 후 (나의 경우 server.js) node로 실행한다면 실행한 해당 파일을 root로 가지고 그 이하의 폴더에 접근 가능한 간단한 http file 제공 서버가 실행된다.
$ node server.js
3.
1. 에서 maven을 통해 만들어진 의존성 jar 파일을 2. 에서 만든 http server에 복사한다.
나의 경우 /home/tkyoo/server/maven2/에 옮겨놓았고, 결과적으로 해당 jar파일은 /home/tkyoo/server/maven2/maven2/com/tistory/tkyoo/hbase/coprocessor/count/1.0.0 에 놓이게 된다.
server를 /home/tkyoo/server 에서 실행시켰으므로, 해당 파일에 접근하는 주소는
http://localhost:8080/maven2/com/tistory/hbase/coprocessor/count/1.0.0/{count-1.0.0.jar, count-1.0.0.pom} 이 된다.
4. 자신이 compile할 project의 pom에 추가
추가한 의존성 jar가 필요한 프로젝트의 pom에 repository를 추가한다:
<repositories>
<repository>
<id> MyId </id>
<url>http://localhost:8080/maven2</url>
<layout>default</layout>
</repository>
</repositories>
repositories DOM은 project DOM 밑에 존재하면 된다.
(
<project>
<repositories>
<repository> </repository>
</repositories>
</project>
이런 식으로
)
의존성은 1.에서 등록할때 사용한 groupId와 artifactId를 그대로 적어주면 된다. 나의 경우
<dependencies>
<dependency>
<groupId>com.tistory.tkyoo.hbase.coprocessor</groupId>
<artifactId>count</artifactId>
<version>1.0.0</version>
</dependency>
....
</dependencies>
5. 컴파일 한다.
'Programming > Java' 카테고리의 다른 글
How do I list the files inside a JAR file? (0) | 2016.08.31 |
---|---|
Remote hbase에 접근이 불가능할때 (0) | 2016.04.05 |
HBase Coprocessor의 예제를 응용한 Distributed Count와 Apache Phoenix의 Count문 비교 (0) | 2015.12.21 |
Maven 3.x 의존성과 함께 컴파일하기 (0) | 2015.12.18 |
Spark CSV 의 의존성 (0) | 2015.12.16 |