我有一个 \src\main\resources\logback.xml 文件。当我运行 mvn package
时,默认情况下它会被放到jar文件中。我如何让Maven将其放在jar旁边,而不是内部?
因此,我只想让Maven将该资源复制到与jar文件相同的文件夹中。
我有一个 \src\main\resources\logback.xml 文件。当我运行 mvn package
时,默认情况下它会被放到jar文件中。我如何让Maven将其放在jar旁边,而不是内部?
因此,我只想让Maven将该资源复制到与jar文件相同的文件夹中。
不需要任何插件定义,只需编辑构建资源:
<build>
<resources>
<!-- regular resource processsing for everything except logback.xml -->
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>logback.xml</exclude>
</excludes>
</resource>
<!-- resource processsing with a different output directory
for logback.xml -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>logback.xml</include>
</includes>
<!-- relative to target/classes
i.e. ${project.build.outputDirectory} -->
<targetPath>..</targetPath>
</resource>
</resources>
</build>
参考资料:
您可以使用Maven Assembly插件构建包含两者的ZIP文件。
您还可以使用Maven Antrun插件或类似工具来放置任何文件,但是每个项目单一构件的理念已经深入融入了Maven内部,因此有可能在其他地方出现问题。
排除该文件: http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html
然后使用Maven Antrun插件复制该文件。
然而,后半部分并没有太多意义。如果它是一个要放在服务器上的配置文件,只需手动复制即可。
阶段
?在我的情况下,我使用maven-dependency-plugin
将一个war
文件复制到依赖项目中 - 从那里我希望它被加载到最终的.jar
中,但我想保证我始终获取该war
文件的最新构建版本。顺便说一句:第一个链接似乎已经失效了。 - Stefan Falksrc/main
目录下? - GOXR3PLUS<resource><targetPath>
设置为您想要复制资源的目标路径。请参阅文档。 - Sean Patrick Floyd