1

여러 모듈이있는 java maven 프로젝트에서 작업 중입니다.Maven에서 모듈 간 구성 파일을 공유하는 방법

하나의 모듈에서 종속성으로 구성 파일을 공유하는 데 문제가 있습니다. 예를 들어, utils이라는 모듈을 log.properties 파일이 있고 다른 모듈 (gui)에 사용하고 싶습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

현재 log.properties는 config 디렉토리에 있습니다. Maven 표준 레이아웃에서 제안한대로 jar 파일에 포함되지 않습니다. 맞습니까? 리소스에 대신 넣어야합니까?

어셈블리 플러그인을 사용하여 공용 설정 디렉토리에 복사하면 정상적으로 작동하지만, 각 모듈을 개별적으로 빌드하려고하면 설정 파일에 도달 할 수 없습니다. 어떻게 해결할 수 있을까요?

귀하의 도움에 감사드립니다. Pierre.

답변

1

src/main/resources/config/에 구성을 입력해야합니다. 이 방법은 기본적으로 jar 파일에 포함됩니다. 일반적으로 최종 항아리에는 src/main/javasrc/main/resources 만 포함됩니다.

다른 모듈에서 직접 속성 파일에 액세스 할 수있는 것은 좋지 않습니다. 해당 파일에 액세스 할 수있는 유일한 장소 인 구성을 소유 한 모듈에 서비스를 제공해야합니다. 이 서비스는 다른 모듈에 구성을 제공 할 수 있습니다. 그렇지 않으면 당신은 단일 책임 원칙을 위반하게됩니다.

+0

답변 해 주셔서 감사합니다. – Pierre

0

here과 같이 pom의 resources 섹션에서 src/main/config 디렉토리를 빌드 아티팩트에 포함하도록 maven을 구성 할 수 있습니다.