누구나 Maven에서 x.properties 파일을 읽는 방법을 알고 있습니다. 리소스 필터링을 사용하여 속성 파일을 읽고 그 값을 설정하는 방법이 있지만 pom.xml에서 다음과 같은 방법을 원합니다.
<properties file="x.properties">
</properties>
이에 대한 논의가있었습니다 : Maven External Properties
누구나 Maven에서 x.properties 파일을 읽는 방법을 알고 있습니다. 리소스 필터링을 사용하여 속성 파일을 읽고 그 값을 설정하는 방법이 있지만 pom.xml에서 다음과 같은 방법을 원합니다.
<properties file="x.properties">
</properties>
이에 대한 논의가있었습니다 : Maven External Properties
답변:
Properties Maven 플러그인 사용해보기
제안 된 Maven 속성 플러그인을 사용하여 빌드 버전을 지정하는 데 사용하는 buildNumber.properties 파일을 읽을 수있었습니다.
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${basedir}/../project-parent/buildNumber.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:properties-maven-plugin:1.0-alpha-1:read-project-properties (execution: default, phase: initialize)
Plugin 'execution' not covered by lifecycle configuration: org.codehaus.mojo:properties-maven-plugin:1.0-alpha-1:read-project-properties (execution: default, phase: initialize)
비슷한 질문에 대한 이 답변 에서는 속성 플러그인을 확장하여 속성 파일에 대한 원격 설명자를 사용할 수있는 방법을 설명합니다. 디스크립터는 기본적으로 특성 파일을 포함하는 jar 아티팩트입니다 (특성 파일은 src / main / resources에 포함됨).
디스크립터는 확장 특성 플러그인에 대한 종속성으로 추가되므로 플러그인의 클래스 경로에 있습니다. 플러그인은 속성 파일에 대한 클래스 경로를 검색하고 파일의 내용을 Properties 인스턴스로 읽고 해당 속성을 프로젝트 구성에 적용하여 다른 곳에서 사용할 수 있도록합니다.
settings.xml
.