일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Photo
- 일상
- spring
- AF-S NIKKOR 85mm f/1.8G
- 경치
- AF-S 18-35mm
- 하늘풍경
- 렌즈
- 50mm
- D750
- 카메라
- 85mm f/1.8G
- 푸른초장교회
- AF-S NIKKOR 50mm f/1.8G
- nikkor
- 꽃
- af-s 18-35
- Nikon
- 푸초
- AF-S NIKKOR 18-35mm f/3.5-4.5G ED
- 여름성경학교
- 풍경
- daily
- 니콘
- 85mm 1.8g
- 사진
- 18-35mm
- 출사
- 50mm f/1.8G
- camera
- Today
- Total
병갈이 블록
Maven Java Project에 로컬 jar파일 포함하여 배포하기. 본문
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파일로 만든다.
그러면, 포함한 라이브러리도 포함되어 배포가 된다. 찾는데 많이 힘들었다....하루안에 끝난게 어디야. 끝!!!!