2011-03-07 5 views
6

우리는 동시에 여러 프로젝트 브랜치를 개발합니다. 각 개발자는 여러 개의 작업 복사본을 가지고 있으며, 각각의 작업 복사본은 고유 한 DB 스키마를 사용합니다. (일반적으로 브랜치마다 작업 복사본이 있지만 지점마다 작업 복사본이 두 개 이상인 경우도 있습니다.) Maven에 DB 자격 증명을 알려야합니다 (db-migration 플러그인, 유닛 테스트, 서블릿).Maven의 사용자 및 프로젝트 별 설정

각 개발자가 다른 DB 스키마 이름을 사용할 수 있기 때문에 pom.xml에 자격 증명을 넣을 수 없습니다. 각 개발자가 둘 이상의 스키마를 사용하기 때문에 자격 증명을 settings.xml에 넣을 수 없습니다.

여기에 자격 증명을 넣으시겠습니까?

예를 들어, http://code.google.com/p/c5-db-migration/은 DB 자격 증명이 pom.xml에 있어야한다고 설명하지만 수정 제어가 적용되지 않는 파일에 외부화하려고합니다.

답변

2

프로젝트 디렉토리의 등록 정보 파일에 입력 할 수 있지만 소스 제어에서 제외됩니다.

Maven을 사용하면 <build><filters><filter> 요소 as instructed here을 사용하여 외부 파일에서 속성을 읽을 수 있습니다.

+0

! 하지만 Maven에 등록 정보 파일을 읽도록 지시하는 방법은 무엇입니까? 검색 및 검색했지만 찾지 못했습니다. 대답 해 주셔서 대단히 감사합니다. – hibbelig

+1

Maven으로 특성 파일을 읽는 방법을 모른다. Maven이기 때문에 아마도 플러그인이있을 것입니다. ;) Maven 2에서는 프로젝트 당 profiles.xml 파일을 사용할 수 있었지만 Maven 3에서는 지원하지 않습니다. –

+0

Maven으로 외부 속성 파일을 읽는 방법을 알아 냈습니다. 답변을 업데이트했습니다. –

2

읽기 다음과 같은 답변 :

하거나 : 내가 원하는 무엇

 

<project> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>properties-maven-plugin</artifactId> 
     <version>1.0</version> 
     <executions> 
      <execution> 
      <phase>initialize</phase> 
      <goals> 
       <goal>read-project-properties</goal> 
      </goals> 
      </execution> 
      <configuration> 
      <files> 
       <file>dev.properties</file> <======== IT IS!!!!! 
      </files> 
      </configuration> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
</project> 
관련 문제