首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven-jar-plugin文件过滤环

maven-jar-plugin文件过滤环
EN

Stack Overflow用户
提问于 2013-02-13 14:02:33
回答 1查看 822关注 0票数 1

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

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

代码语言:javascript
复制
<plugin>
 <artifactId>maven-jar-plugin</artifactId>
 <version>2.4</version>
  <configuration>
    <includes>
     <include>**/*</include>
     </includes>
  </configuration>
 </plugin>

编辑

另外,请允许我指出,由于遗留调用和依赖原因,我不希望将文件放在资源目录中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-13 14:04:18

这是因为打包到jar中的类不是从src获取的,而是从目标(特别是/target/classes)获取的,而且编译器完全忽略了您的非java文件。

尝试将您的文件放在src/main/resources/com/pac/report.pl中,它应该打包到jar中(与/com/pac/report.pl的相对路径),因为这是资源插件在jar插件运行之前寻找添加到/target的其他文件的默认位置。

编辑--或者,如果您不想/不能按照maven所期望的方式这样做,您可以手动将绑定资源插件的执行放到生命周期中,以获取文件并将其复制到目标。就像这样:

代码语言:javascript
复制
<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>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14855322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档