使用spring-boot-maven-plugin从独立JAR中排除.xml和属性

时间:2017-09-08 17:24:24

标签: java spring maven spring-boot jar

我有一个独立的JAR maven / spring启动应用程序。它目前在/ src / main / resources /中的JAR中有applicationContext.xml和application.properties文件。为了能够轻松地重新配置而不重新部署,我想将.xml文件和.properties文件移到jar之外。

我已经设置了maven-antrun-plugin,因此它将这些资源复制到目标目录中。

但是,我很难从我的JAR文件中排除这两个文件(.xml和.properties)。

我做了一些研究,大多数指南或讨论都讨论了在maven-jar-plugin中添加排除项,但我没有使用maven-jar-plugin。有没有办法用spring-boot-maven-plugin做到这一点?

我已尝试将以下内容放入我的pom文件的“构建”部分:

        <resources>
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>**/*.xml</exclude>
                <exclude>**/*.properties</exclude>
            </excludes>
        </resource>
    </resources>

但是这些文件仍然出现在maven构建的JAR文件的/ classes文件夹中。

关于如何做到这一点的任何想法或建议?

1 个答案:

答案 0 :(得分:0)

您发布的代码段确实应该这样做。您可以通过使用命令mvn -X install构建项目来验证是否使maven进程更加冗长。此命令应生成类似

的输出
  

[DEBUG]配置mojo&#39; org.apache.maven.plugins:maven-resources-plugin ...

应显示排除文件下方的一些行。

  

排除[** / * .xml,** / *。properties]

但我想知道如果只是排除这些文件是允许配置应用程序的好方法。这个文件真的很基础。也许最好将文件保存在jar中并提供一些有用的默认值。部署后,您可以按照this guide覆盖不同优先级的值。