我有\ src \ main \ resources \ logback.xml文件。当我运行mvn package
时,默认情况下将它放入jar中。我如何让Maven把它放在jar旁边,而不是放在里面?Maven:如何将资源文件与jar一起放置?
所以,我只想让Maven将资源复制到jar所在的相同文件夹。
我有\ src \ main \ resources \ logback.xml文件。当我运行mvn package
时,默认情况下将它放入jar中。我如何让Maven把它放在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 plugin构建包含两者的ZIP文件。
您也可以使用Maven Antrun plugin或类似的文件来放置任何您想要的文件,但是每个项目的单个构件的构思都深入到Maven内部构建中,因此您有可能在其他地方找到您。
我想牛逼将它们放在一起 - 资源旁边的jar文件。 – 2011-04-12 16:03:49
排除该文件: http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html
然后使用Maven插件Antrun复制文件。
但是,后半部分没有多大意义。如果它是一个配置文件放入服务器,只需手动复制它。
我只是想使用Maven是一个全功能的构建系统,以生成我需要在一次点击中部署的所有东西;) – 2011-04-13 17:28:40
在什么'阶段'是被复制的资源?在我的情况下,我使用'maven-dependency-plugin'将'war'文件复制到依赖项目中 - 从那里我想将它加载到最终的'.jar'中,但是我想保证我总是这个'war'文件的最新版本。顺便说一句:第一个链接似乎已经死了。 – displayname 2017-02-06 07:56:11
@displayname固定链接。而流程资源是您正在寻找的阶段。 – 2017-02-06 07:58:20
谢谢!去读一读:) – displayname 2017-02-06 07:58:45