병갈이 블록

Maven Java Project에 로컬 jar파일 포함하여 배포하기. 본문

IT(Old)/JAVA

Maven Java Project에 로컬 jar파일 포함하여 배포하기.

woojang 2021. 2. 13. 01:00

1. jar 파일을 만들어 둔다.(A)

2. A 파일을 포함 할 B 프로젝트를 메이블 프로젝트로 만든다.

3. 프로젝트 루트경로 밑에 lib폴더를 만든다.

 

4. pom.xml 파일 작성.

    - repository : id, name은 임의설정 가능. url은 ${lib.dir}로 설정(root/lib로).

    - dependency : groupId, artifactId, version을 적어준다. -> 일단 해당 위치에 파일이 없어도 괜찮다.

수정한 내용을 저장하게 되면 위에 Maven Dependencies 경로에 폴더 모양으로 추가한 artifactId명이 추가된다.

그리고 아래 세가지 플러그인이 포함되어 있다.

첫번째는 Maven Install/Build시 버전으로 인한 에러를 해결하기 위한 플러그인.

두번째는 Dependency에 포함된 jar파일을 같이 배포하기 위해서 추가한 플러그인.

    •configuration

        - finalName : 경로에 저장될 파일 이름 (따로 입력하지 않을 경우, 기본으로 생성되는 jar파일의 이름으로 세팅됨)

        - outputDirectory : jar파일을 저장하는 경로.

        - descriptorRefs/descriptorRef : finalName 뒤에 붙는 파일 명.

세번째는 jar 파일로 빌드 시 제외시켜야하는 폴더 혹은 파일 목록을 세팅하기 위한 플러그인.

    •파일 제외 규칙.

        - 폴더 : 특정 폴더 및 그 아래 포함된 내용이 대상일 경우 마지막이 "폴더명/"으로 끝나야함.

        - 파일 : 파일명을 직접 입력하거나 규칙을 정함.(ex> **/service/*.java, **/main/*.*)

 

5. 그리고 3번에 만든 lib폴더 아래 [groupId/artifactId/version] 폴더를 생성하고 그 아래 jar파일을 아래에 넣어둔다. (groupId의 경우 .을 기준으로 폴더가 나뉜다.)

 

6. 현재 내가 가진 MacBook을 기준으로 [사용자id/.m2/repository/groupId/artifactId/version] 폴더가 생기고 그 아래 jar파일을 제외한 파일들이 생성되어 있다. (groupId의 경우 .을 기준으로 폴더가 나뉜다.)

그 폴더 아래 [artifactId-version].jar이라는 이름으로 1번에서 만든 jar 파일을 복사한다.

그러면 Maven Dependencies 경로아래 폴더 모양이 jar파일 모양으로 바뀐다.

 

7. 중요한 부분. 빌드 시 Goals 부분에 "assembly:assemgly install"를 입력하고 Run을 수행하여 jar파일로 만든다.

그러면, 포함한 라이브러리도 포함되어 배포가 된다. 찾는데 많이 힘들었다....하루안에 끝난게 어디야. 끝!!!! 

 

'IT(Old) > JAVA' 카테고리의 다른 글

파일 I/O 정리  (0) 2018.12.09
Comments