2015년 8월 19일 수요일

메이븐 로컬 라이브러리 설정

posted by : http://itnp.kr/blog/post/Maven_Repository_%EA%B0%80_%EC%97%86%EB%8A%94_%EB%A1%9C%EC%BB%AC_jar_%ED%8C%8C%EC%9D%BC_%EC%9D%84_maven_project_%EC%97%90_%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94


Maven Repository 가 없는 로컬 jar 파일 을 maven project 에 추가하는 방법

환경

java 1.7.0
maven 3.2.2

단순 참조만 필요한 경우

maven repository 가 없는 로컬 jar 파알을 maven 프로젝트에 추가 하기 위해서는 사설 repository를 만드는 방법도 있지만
다음과 같이 "dependency" 정의 시 scope 노드와 systemPath 노드를 사용하여 프로젝트에 포함된 jar 파일을 지정하여 줄 수 있다.
<dependency>
    <groupId>smack</groupId>
    <artifactId>smack-custom</artifactId>
    <version>1.0.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/smack-custom.jar</systemPath>
</dependency>
groupId, artifactId, version 은 임의로 정의해도 무방하다
${project.basedir} 는 프로젝트의 ROOT 패스

로컬을 Repository 를 활용하는 방법

위와 같이 처리하는 경우는 문제점이 있다. scrop 의 system 이기 때문에 maven 빌드 시 해당 jar 파일이 포함되지 않는다.
이런 경우는 pom.xml 에 다음과 같이 정의하여 로컬을 repositoy로 활용하는 방법도 있다.
<dependency>
    <groupId>smack</groupId>
    <artifactId>smack-custom</artifactId>
    <version>1.0.0</version>
</dependency>
<repository>
 <id>in-project</id>
 <name>custom jars</name>
 <url>file://${project.basedir}/lib</url>
</repository>
이 때 ${project.basedir}/lib 는 maven 디렉토리 구조를 따르도록 구성해주어야 한다.
위의 예제에서는 디렉토리 및 파일명은 다음과 같이 구성해야 한다.
${project.basedir}/lib/smack/smack-custom/1.0.0/smack-custom-1.0.0.jar
만일 jenkins에서 maven 빌드를 하는 경우라면 다음과 같이 repository를 하나 더 추가해준다.
<repository>
 <id>in-project-jenkins</id>
 <name>custom jars-jenkins</name>
 <url>file://${JENKINS_HOME}/jobs/${JOB_NAME}/workspace/lib</url>
</repository>
Posted at 2015/01/16 17:46

posted by : http://neoguru.tistory.com/18
[maven] jar 를 Local Repository 에 추가하기

java 2009/11/24 17:38


개발을 진행하다보면 내부에서 사용하는 jar 파일이라든지, jdbc에 관련된 jar 등..
maven repository 에서 제공하지 않는 jar 파일들을 추가해야 경우가 생기는데


가장 좋은 방법은 개발팀내에 중앙 repository 를 만들어서 등록하고 사용하면 좋겠지만
상황이 여의치 않고 번거롭다면...
WEB-INF/lib 폴더에 넣거나, build path 로 잡아주면 되긴 하지만
왠지 틀을 깨뜨리는것 같다면...


간편하게 local repository 에 등록하고 사용하는 방법이 있다.
dependency 파일들을 아래와 같은 로컬경로에 다운로드 되어지는다...
(개인OS 마다, 윈도우 로그인 계정 마다 경로는 약간 다를수 있고, 참고로 windows7에 Administrator 계정임)
C:\Users\Administrator\.m2\repository

windows xp는 아래와 유사
C:\Documents and Settings\사용자계정\.m2\repository



추가를 하기 위해서는 아래와 같은 명령어를 사용하게 된다.
* 명령옵션
mvn install:install-file
-Dfile=<path-to-file>
-DgroupId=<group-id>
-DartifactId=<artifact-id>
-Dversion=<version>
-Dpackaging=<packaging>
-DgeneratePom=true

Where: <path-to-file> the path to the file to load
<group-id> the group that the file should be registered under
<artifact-id> the artifact name for the file
<version> the version of the file
<packaging> the packaging of the file e.g. jar




[Maven Home]\bin 폴터가 path 로 연결되어 있고, Something.jar 를 등록하려고 한다면

아래와 같은 형식으로 입력하면된다.
mvn install:install-file -Dfile=[파일 full경로] -DgroupId=[그룹아이디] -DartifactId=[artifactId] -Dversion=[버전정보] -Dpackaging=[jar] -DgeneratePom=true



C:\> mvn install:install-file -Dfile=C:\Something.jar -DgroupId=com.neo -DartifactId=myutil -Dversion=1.0 -Dpackaging=jar -DgeneratePom=true


댓글 없음:

댓글 쓰기