Maven Properties
- pom.xml 파일에서 maven 프로퍼티를 사용하여 동적인 환경 구성이 가능하다.
- 프로퍼티의 종류에는 project 프로퍼티, settings 프로퍼티, 환경 변수 프로퍼티, Java System 프로퍼티, 사용자 정의 프로퍼티가 있다.
1. Maven Project Properties
- Maven Project Object Model(pom.xml) 에 정의된 값.
- prefix. : project.*
ex) ${project.build.outputDirectory}
- POM structure : http://maven.apache.org/ref/2.0.9/maven-model/maven.html
<dependencies> <dependency> <groupId>${project.groupId}</groupId> <artifactId>sibling-project</artifactId> <version>${project.version}</version> </dependency> </dependencies>
2. Maven Settings Properties
- ~/.m2/settings.xml 에 정의된 값 사용
- prefix : settings.*
- settings.xlm structure : http://maven.apache.org/ref/2.0.9/maven-settings/settings.html
3. Environment Variable Properties
- 환경 변수 값을 참조 할 수 있다.
- prefix : env.*
- 예제
- env.PATH : 현재의 PATH 정보
- env.JAVA_HOME : JDK Home 정보
- env.HOME : 유닉스/리눅스 사용자 HOME 디렉토리
- env.M2_HOME : Maven Home 정보
<!-- mvn antrun:run --> <plugin> <artifactId>maven-antrun-plugin</artifactId> <configuration> <tasks> <echo>The JAVA_HOME var is ${env.JAVA_HOME}</echo> </tasks> </configuration> </plugin> <!-- [echo] The JAVA_HOME var is C:\jdk1.5 출력된다. -->
4. Java System Properties
- System.getProperty() 메소드에서 제공하는 모든 프로퍼티 정보를 참조할 수 있다.
Java System Properties | 설명 |
---|---|
java.version | JRE의 버전 |
java.vendor | JRE의 vendor 정보 |
java.home | JDK 또는 JRE의 설치 디렉토리 |
java.vm.specification.version | JVM SPEC 버전 |
java.vm.specification.name | JVM SPEC 이름 |
os.name | OS 이름 |
os.version | OS 버전 |
user.home | 사용자 홈 디렉토리 |
user.name | 사용자 이름 |
user.dir | 현재 디렉토리 |
5. User-defined Properties
- 아래와 같이 직접 정의해서 사용 할 수 있다.
<project> ... <properties> <env>local</env> <clover.home>analysis_tools/clover</clover.home> <checkstyle.home>analysis_tools/checkstyle</checkstyle.home> <pmd.home>analysis_tools/pmd</pmd.home> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> ... </project>
6. Reference
문서정보
- 이 문서는 구루비에서 작성하였습니다.
- 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 출처 : http://wiki.gurubee.net/display/SWDEV/Maven+Properties?
- 구루비 지식창고의 모든 문서는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
댓글 없음:
댓글 쓰기