Java maven jar插件文件过滤

Java maven jar插件文件过滤,java,maven,maven-jar-plugin,Java,Maven,Maven Jar Plugin,我的src/main/java/com/pac/report.pl中有一个perl文件,我想将其打包为jar文件中类的一部分 使用mavenmaven-jar-plugininclude指令,我尝试了下面的建议和其他各种建议,但没有将perl文件作为我的类的一部分复制到jar文件中。有人知道我做错了什么吗 <plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.4</ve

我的
src/main/java/com/pac/report.pl
中有一个perl文件,我想将其打包为jar文件中类的一部分

使用maven
maven-jar-plugin
include指令,我尝试了下面的建议和其他各种建议,但没有将perl文件作为我的类的一部分复制到jar文件中。有人知道我做错了什么吗

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

maven jar插件
2.4
**/*
编辑


还请允许我指出,由于遗留调用和相关原因,我不想将文件放在资源目录中。

这是因为打包到jar中的类不是从src获取的,而是从target获取的(特别是
/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>

maven资源插件
2.6
复制资源
编撰
复制资源
${basedir}/target/classes
...