younghoo
122
2021-09-13 15:15:10 작성 2021-09-13 15:20:38 수정됨
3
63

Maven Deploy 문의


옥희 회원님 안녕하세요?

스프링부트프로젝트를 빌드/배포하려고 하려고 합니다.

(앞서 질문을 올렸으나 질문과 원하는 바를 명확하게 기술하지 못한거 같아 다시 올립니다.)


프로젝트 구성은 이렇습니다.

-비지니스모듈프로젝트 (스프링부트+maven 프로젝트,  pom.xml 에 dependecy 다수)

-공통프로젝트 (maven프로젝트, pom.xml 에 dependecy 다수)

* 비지니스모듈프로젝트 에서 공통프로젝트 를 라이브러리로 참조합니다.


현상태에서 비지니스모듈프로젝트 의 pom.xml 로  <packaging> jar </packaging> 로 빌드하면

비지니스모듈.jar 가 생성되고  이 파일의 내부에  BOOT-INF/lib 폴더에  비지니스모듈에서 사용하는 각종 스프링라이브러리(. jar) 와   공통프로젝트.jar 이 포함되어 있습니다.


저의 목표는 빌드 후 생성되는 결과물이 다음과 같은 형태로 구분되는 것 입니다.

1. 비지니스모듈.jar :  순수 비지니스로직 관련된 자바클래스(Main포함)와 config파일로  구성

2. 공통프로젝트.jar 

3. 스프링라이브러리_1.jar,  스프링라이브러리_2.jar ..... etc


비지니스모듈프로젝트 의 pom.xml 에 빌드시  위 1, 2, 3 의 형태로 생성되게 작성할 수 있을 까요?

그리고 비지니스모듈.jar 를  java -jar 옵션으로 실행시 2, 3번 라이브러리를 사용 할 수 있는 java 옵션은 어떻게 작성해야 할까요?


메이븐 초보라서 어떻게 할지 막막 합니다.

방법 공유해주시면 감사드리겠습니다.


P.S : 반드시 모든 걸 비지니스모듈프로젝트 의 pom.xml 에서 처리되게 해야 하는 것은 아닙니다. 

     


0
  • 답변 3

  • younghoo
    122
    2021-09-13 16:36:33 작성 2021-09-13 20:32:35 수정됨

    pom.xml 에 <build></build> 에 maven-jjar-plugin 세팅하고 <classpathPrefix>  에 lib 라고 세팅하니까  공통및 스프링라이브러리가 lib 로  복사분리되었네요. 헌데 비지니스로직프로젝트는 처음하고 동일하게 모든걸 다 가지고 습니다. ㅠ.ㅠ ( <scope>provided</scope> ) 옵션을 줘도 포함됩니다.


  • younghoo
    122
    2021-09-13 20:30:52

    저의 이런 목적을 달성할 수 있는 강좌에 대한 정보있으시면 링크 부탁드립니다.

    인터넷 문서, 유튜브 찾아보고 있는데 기본적인 것에 대한 설명은 많은데 응용(?)은 없네요 ㅠㅠ

  • younghoo
    122
    2021-09-14 15:43:39

    단서를 찾았습니다.

    maven-assembly-plugin 관련 검색

  • 로그인을 하시면 답변을 등록할 수 있습니다.