当前位置: 首页 > 知识库问答 >
问题:

不包括。带有spring-boot-maven-plugin的独立JAR中的xml和属性

壤驷鸿祯
2023-03-14

我有一个独立的JAR maven/spring boot应用程序。它当前在/src/main/resources/的JAR中有applicationContext.xml和application.properties文件。为了能够轻松地重新配置而无需重新部署,我想将。xml文件和。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个答案

顾淳
2023-03-14

你张贴的片段应该完全做到这一点。您可以通过使用命令< code>mvn -X install构建项目来验证是否让maven进程变得更加冗长。该命令应该会产生如下输出

[调试]Configuring mojo 'org.apache.maven.plugins:maven-resources-plugin ...

应该会显示排除的文件下面的一些行。

不包括[****.xml、****.properties]

但是我想知道仅仅排除此文件是否是允许配置应用程序的好方法。这些文件非常基本。也许将文件保留在jar中并提供一些有用的默认值会更好。部署后,您可以按照本指南以不同的优先级覆盖该值。

 类似资料:
  • 在过去的几个小时里,我一直试图解决这个问题,但我无处可去。我刚刚安装了Maven for Eclipse插件(我想是M2E),还有maven,mvn。我创建了一个非常简单的Hello World项目,并尝试使用java -jar pimidi-0.0.1-SNAPSHOT来运行构建的jar.jar 无论我尝试什么,我总是得到相同的错误:target/pimidi-0.0.1-SNAPSHOT.ja

  • 我想生成一个包含其依赖项的jar文件。下面是我的pom.xml:

  • 但是只有带有编译类的jar包含在zip中。为什么它不包括使用maven-sources-plugin构建的sources jar?

  • 让我预先感谢你的帮助! 我在一个spring boot应用程序中有一个奇怪的行为。我来给你解释一下: 我正在用一些不错的rest-json服务包装一些遗留的Web服务(自定义xml消息)(通过spring-mvc和Spring boots并使用jackson序列化东西) 为了与遗留系统通信,我创建了一个自定义XmlMapper、序列化器和反序列化器。 最后,我创建了一个httpclientconf

  • 我正在使用Spring Boot创建一个独立的jar,使用Export命令和Runnable jar,并试图在命令提示符下运行jar,但它会抛出以下错误,同一个应用程序正在Eclipse中运行。我不能使用maven,我也没有在我的应用程序中使用spring-boot-thymeleaf。即使在添加了spring-boot-autoconfigurator-thymeleaf jar之后,我也会得到