2013-02-13 38 views
1

我在我的src/main/java/com/pac/report.pl中有一些perl文件,我想將它們作爲我的類的一部分打包到jar文件中。maven-jar-plugin文件篩選器

使用maven maven-jar-plugin包括指令,我已經嘗試了下面和各種其他建議我脫離網絡,但不復制perl文件作爲我的類的一部分在jar文件中。有誰知道我做錯了什麼。

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

編輯

也讓我指出,我不希望在資源目錄中的文件放置由於傳統電話和相關原因。

回答

3

那是因爲打包到您的罐子類不是從採取SRC,而是從目標(特別是/target/classes),編譯器完全忽略你的非Java文件。

嘗試將您的文件放在src/main/resources/com/pac/report.pl中,並將其打包到jar(相對路徑爲/com/pac/report.pl),因爲這是資源插件在jar插件運行之前查找要添加到/ target的其他文件的默認位置。

編輯 - 或者,如果你不想/不能做這樣的方式Maven認爲,你可以手動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>