java - Spring Boot Maven 插件 - 没有 BOOT-INF 目录

标签 java spring maven spring-boot spring-boot-maven-plugin

在 spring-boot-maven-plugin 版本 1.3.8.RELEASE 和版本 1.4.0.RELEASE 之间——生成的包结构发生了变化(如果你提取 uber jar 文件) 1.3.8.RELEASE com、lib、META-INF和org目录 1.4.0.RELEASE 有一个 BOOT-INF、META-INF 和 org 目录 基本上从 1.4.0.RELEASE 开始——所有的类和库都在 BOOT-INF 目录中。 因此 - 当您尝试在 Amazon Lambda 上运行 Spring Boot 项目时 - 它说找不到 jar,因为它无法读取新的 Spring Boot Uber jar 结构

我的问题是 - 是否有可能在较新版本的 Spring Boot Maven 插件中生成与版本 1.3.9.RELEASE 相同结构的 super jar?

我尝试了 maven-shade-plugin - 但这会导致其他问题

非常感谢任何帮助

谢谢 达米安

最佳答案

解决方案是在 pom.xml 文件中为插件添加 MODULE 布局

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <layout>MODULE</layout>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>repackage</goal>
            </goals>
        </execution>
    </executions>
</plugin>

关于java - Spring Boot Maven 插件 - 没有 BOOT-INF 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43124852/

相关文章:

java - 在 Java 类中共享公共(public)变量

java - Service s = new ServiceImpl() - 为什么要这样做?

java - 计算 HashMap 索引的平均值

java - 使用 Java 连接到 MySQL 而无需使用 GPL

spring - 无法将查询字符串参数映射到我的JavaBean(使用Spring 4和Datatables)

spring - 我应该使用来自 Maven 存储库还是 Spring 存储库的工件

Java Spring : Error message "no declaration can be found for element ' util:constant'

maven-2 - mvn :deploy and mvn:install commands? 和有什么区别

java - com.itextpdf :book:war:5. 3.1-SNAPSHOT:无法解析以下 Artifact :

java - 在 super 开发模式下运行 GWT 应用程序