簡體   English   中英

maven-jar-plugin文件過濾器

[英]maven-jar-plugin file filterring

我在src/main/java/com/pac/report.pl中有一些perl文件,我想在jar文件中打包作為我的類的一部分。

使用maven maven-jar-plugin包含指令,我在下面嘗試了以及我從網上下載的各種其他建議,但是沒有將perl文件作為我的類的一部分復制到jar文件中。 有誰知道我做錯了什么。

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

編輯

另外,我要指出,由於遺留呼叫和相關原因,我不希望將文件放在資源目錄中。

這是因為打包到jar中的類不是從src中獲取的 ,而是來自目標(特別是/target/classes ),編譯器完全忽略了你的非java文件。

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

編輯 - 或者,如果您不希望/不能像maven所期望的那樣執行此操作,您可以手動將資源插件的執行綁定到生命周期以獲取文件並將其復制到目標。 這樣的事情:

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM