我的src/main/java/com/pac/report.pl中有一个perl文件,我想将它作为jar文件中类的一部分进行打包。
使用maven maven-jar-plugin包含指令,我尝试了下面的建议和其他各种建议,但没有将文件作为jar文件中类的一部分进行复制。有人知道我做错了什么吗。
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<includes>
<include>**/*</include>
</includes>
</configuration>
</plugin>编辑
另外,请允许我指出,由于遗留调用和依赖原因,我不希望将文件放在资源目录中。
发布于 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所期望的方式这样做,您可以手动将绑定资源插件的执行放到生命周期中,以获取文件并将其复制到目标。就像这样:
<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>https://stackoverflow.com/questions/14855322
复制相似问题