로컬 jar 파일 maven porject에 추가하는 법
단순 참조일 경우
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>
로컬을 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>
출처 : 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
'개발' 카테고리의 다른 글
IDE 단축키 (0) | 2018.11.28 |
---|---|
hsqldb 사용하기 (0) | 2016.07.23 |
windows에 있는 AppData 폴더란? (0) | 2015.07.30 |
Git (0) | 2013.12.30 |
dxf file format (0) | 2012.08.16 |