2013-02-13 2 views
1

src/main/java/com/pac/report.pl에 jar 파일에 클래스의 일부로 패키지하려는 일부 펄 파일이 있습니다.maven-jar-plugin 파일 필터 링

maven maven-jar-plugin에는 지시어가 포함되어 있습니다. 아래에서 여러 가지 제안을 시도했지만 웹에서 가져 왔지만 jar 파일의 클래스에 perl 파일을 복사하지 않았습니다. 아무도 내가 뭘 잘못하고 있는지 안다.

<plugin> 
<artifactId>maven-jar-plugin</artifactId> 
<version>2.4</version> 
    <configuration> 
    <includes> 
    <include>**/*</include> 
    </includes> 
    </configuration> 
</plugin> 

편집

또한 제가 인해 기존의 전화와 종속 이유로 자원 디렉토리에 파일을 배치하고 싶지 않은 것을 지적 할 수 있습니다. 당신의 항아리에 패키지 클래스가 됨 src 에서 가져온 것이 아니라 대상에서 (특히 /target/classes), 컴파일러가 완전히 비 자바 파일을 무시되지 않기 때문이다

답변

3

.

파일을 src/main/resources/com/pac/report.pl에 두어보십시오. jar 플러그인을 실행하기 전에 리소스 플러그인이/target에 추가 할 추가 파일을 찾는 기본 위치이므로 jar (상대 경로는 /com/pac/report.pl)에 패키징되어야합니다.

편집 - 또는, 당신은 수동 bind an execution of the resources plugin 라이프 사이클에 파일을 선택하고 대상을 통해 복사 할 수/캔트이 방식을 받는다는 기대하고 싶은 해달라고합니다. 다음과 같은 내용 :

<build> 
    <plugins> 
     <plugin> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>2.6</version> 
     <executions> 
      <execution> 
      <id>copy-resources</id> 
      <phase>compile</phase> <!-- or later --> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${basedir}/target/classes</outputDirectory> 
       <resources>   
       <resource> 
        <!-- path to your *.pl file here --> 
       </resource> 
       </resources>    
      </configuration>    
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    ... 
    </build>