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

Spring Boot Maven插件:从最终jar中排除属性文件

郑功
2023-03-14

我们有一个Spring Boot应用程序,其中有一个应用程序。属性和应用程序开发属性。应用程序属性文件只有一些全面的默认值,而应用程序开发人员属性中有一些真正基本的凭据。

当我们部署jar时,应用程序从其部署到的环境中获取其属性,因此,我们不使用概要文件功能,除非我们希望针对“dev”环境进行本地开发。

我们的secops部门告诉我们,他们不再希望我们将部署到生产环境的最终jar中的开发属性文件包括在内,但他们同意我们将该文件保留在版本控制中,以便我们至少可以跟踪更改并在本地构建/运行。

我一直在阅读spring-boot-maven-plugin配置,我看不到一种方法来告诉maven在构建最终jar时排除该文件,同时仍将其复制到目标目录中,因此我们的团队仍然可以在本地进行黑客攻击。


共有1个答案

申昌勋
2023-03-14

我在配置文件上乱搞了一会儿,但我发现它太混乱了,无法向其他人解释,并且随着场景的额外排列而变得有点麻烦。

最终最简单的事情是配置jar插件以排除文件。这是我们pom中的一个片段。

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.1.1</version>
            <configuration>
                <excludes>
                    <!-- This is where the exclusion occurs -->
                    <exclude>**/application-*.properties</exclude>
                </excludes>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
 类似资料:
  • 那么如何防止插件jar进入war文件呢?多谢了。

  • 问题内容: 我已经创建了下面的对象,该对象将被映射到ElasticSearch类型。我想从索引中排除该属性: 问题答案: 您应该能够设置属性的值,如下所示:

  • 我想从类型中排除一个单独的属性。我该怎么做呢? 比如我有 我想排除属性 以获得

  • 问题内容: 我手动将属性文件注入到jar中。如何从Java 1.7之前的jar文件中加载属性?我尝试了许多解决方法,但到目前为止没有任何效果。 关于它有很多问题,但是所有内容都集中在Java 1.7的ClassLoader方法上。 问题答案: 当您在类路径中或jar文件中具有属性文件时,它将成为资源。其他任何情况都是一个简单的文件。 在打包jar文件之前,需要做的是将属性文件所在的文件夹(即myp

  • 在阅读了关于这个主题的大约50个不同的线程后,我还没有能够有任何解决方案工作。 我正在尝试访问JAR中的config.properties文件。 null null file.jar MyApp 此处的files.class 等… icon.jpg config.properties

  • 是否可以以某种方式配置Spring引导maven插件以包括来自依赖项的资源。 例如,如果在我的spring boot项目中,我有: 在这个JAR文件中有一个属性文件,如 结果1。 但是,当我构建SpringBootJAR时,这个属性文件并没有添加到。包含它的JAR包含在 然而,在我的情况下。我想将的内容提取到Spring BootJAR的引导目录中,这样就可以进行自动配置。 在现实世界中,我试图通