2013-08-06 4 views
6

jar 파일로 응용 프로그램을 패키징하고 있습니다.Maven : jar 파일과 함께 속성 파일

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <archive> 
        <manifest> 
         <mainClass>...</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 

또한 내 .properties 파일은 src/main/resources 안에 있습니다. 이 파일을 다른 곳으로 자유롭게 이동할 수 있습니다. jar 파일에 등록 정보 파일을 포함시키지 않고 동일한 출력 디렉토리 (병이있는 곳)에 나란히 배치해야합니다. Maven에서 가장 좋은 방법은 무엇입니까?

+1

가능한 중복 [jar 파일에서 poperties 파일을 제외하는 방법?] (http://stackoverflow.com/questions/2728993/how-to-exclude-poperties-file-from-jar-file) –

답변

9

좋아요, 목표 resources:copy-resourcesmaven-resources 플러그인입니다. 난 (임베디드) 리소스에 내장 된 표준 리소스 폴더를 방금 떠납니다. 그리고 외부 자원을 위해 또 다른 폴더를 만듭니다 : src/main/external-resources. 여기서 나는 .properties-file을 넣는다.

다음 단계에서는 유효성 검사 단계에서 출력물을 출력하기 위해 외부 리소스를 복사합니다. 자신의 필요에 따라 단계를 변경할 수 있습니다.

 <plugin> 
      <artifactId>maven-resources-plugin</artifactId> 
      <version>2.6</version> 
      <executions> 
       <execution> 
        <id>copy-resources</id> 
        <phase>validate</phase> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${project.build.directory}</outputDirectory> 
         <resources> 
          <resource> 
           <directory>src/main/external-resources</directory> 
          </resource> 
         </resources> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
+0

Jenkins를 사용하여 동일한 내용을 작성하는 동안 왜 우리는 항아리 만 볼 수는 있지만 Nexus에서 여기에서 구성한 디렉토리는 보이지 않습니다 –

관련 문제