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

SpringBootMaven插件包括资源

孟彦
2023-03-14

是否可以以某种方式配置Spring引导maven插件以包括来自依赖项的资源。

例如,如果在我的spring boot项目中,我有:

<dependency>
        <groupId>co.company</groupId>
        <artifactId>example</artifactId>
    </dependency>

在这个JAR文件中有一个属性文件,如example.properties

jar -tf example.jar | grep example.properties | wc -l

结果1。

但是,当我构建SpringBootJAR时,这个属性文件并没有添加到src/main/resources。包含它的JAR包含在BOOT-INF/lib/example中。jar

然而,在我的情况下。我想将src/main/Resources的内容提取到Spring BootJAR的引导BOOT-INF/class/目录中,这样就可以进行自动配置

在现实世界中,我试图通过以下方式实现这一点:

  • thymeleaf模板(例如,my dependency JAR提供HTML模板文件,但在部署的启动JAR中,这些模板未解析)
  • liquibase changelog文件(我的依赖项包括changelog文件,但没有执行这些文件-我假定liquibase autoconfig找不到changelog文件,因为它不在启动JAR的src/main/resources中)

共有1个答案

萧心水
2023-03-14

我认为这个问题的解决方案与你提出的另一个问题的解决方案非常相似。

您可以在Spring Boot模块中使用maven依赖插件的unpack目标:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <executions>
        <execution>
            <goals>
                <goal>unpack</goal>
            </goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>${project.groupId}</groupId>
                        <artifactId>module-a</artifactId>
                        <version>${project.version}</version>
                        <includes>**/*.yaml</includes>
                    </artifactItem>
                </artifactItems>
                <outputDirectory>${project.build.directory}/classes/BOOT-INF/</outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

这将复制资源从模块-a引导模块BOOT-INF目录。我在GitHub上发布了一个更完整的示例。

 类似资料:
  • 我正在使用Maven Shade插件在打包阶段包含所有依赖项。这适用于类,但不包括依赖资源。 以下是依赖罐的布局: 以下是阴影插件配置:

  • 我有一个pom.xml,大致如下所示: 当我运行单元测试时,然后在我的笔记本电脑上本地调用,一切都很好,只有。我的覆盖率是86%。然而,当我让Jenkins使用相同的命令运行单元测试,然后在我的Jenkinsfile中调用时,我最终得到了附加到构建的报告中的所有代码,因此我的覆盖率最终为2%,因为我没有为一些第三方库编写测试。 我该如何解决这个问题?

  • 你知道怎么了吗?为什么任务输出不包含在war文件中,而是包含在jar文件中?AFAIK我做了我该做的 定义任务的输出 将输出添加到资源 使任务在processResources任务之前执行

  • 以下 是对开发kibana 插件有用的资源 IRC channel kibana 官方为大家注册了一个类似聊天室的通道,在这里大家可以获取有用咨询和交流 Freenode Web Client. 文章 contributing guide kibana-plugin-notes(强烈推荐阅读) 视频 Contributors Guide to the Kibana Galaxy Kibana Pl

  • 我是IntelliJ和Gradle的新手,我有一个Maven项目,有很多依赖项,它自己工作。现在我应该使用该项目中的库,并在Gradle中为IntelliJ创建一个插件。 我尝试了各种方法在IntelliJ模块设置中添加依赖项,这允许我使用所需的类来编写代码并构建代码。然而,当我试图启动插件时,它再也找不到类了。我想我需要在构建中详细说明这些。但我不明白到底是如何做到的,因为我尝试的所有方法都不起