Spring boot 3.3.3 spring-boot-maven-plugin-从不执行

问题描述 投票:0回答:1

我的 spring 应用程序不断使用 maven-jar-plugin 而不是使用 spring-boot-maven-plugin 生成 jar。我还将 Spring Boot 2.7.14 升级到 3.3.3。

我的 pom.xml 中有这个插件:

<plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>3.3.3</version>
                    <executions>
                        <execution>
                            <id>boot-repackage</id>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>boot-build-info</id>
                            <goals>
                                <goal>build-info</goal>
                            </goals>
                            <configuration>
                                <additionalProperties>
                                    <java.source>java.version</java.source>
                                    <java.target>java.version</java.target>
                                </additionalProperties>
                            </configuration>
                        </execution>
                    </executions>
                    <configuration>
                        <mainClass>...myApplication</mainClass>
                    </configuration>
                </plugin>

此外,jar 文件没有 boot-inf,仅包含我的应用程序类,没有依赖项。

jar 内的 MANIFEST.MF:

Manifest-Version: 1.0
Created-By: Maven JAR Plugin 3.4.2
Build-Jdk-Spec: 17
Implementation-Title: myApplication
Implementation-Version: 1.1.0-SNAPSHOT

我的应用程序在本地运行没有任何问题,但是当我尝试将其部署到测试环境时,部署失败,并出现 线程“main”java.lang.NoClassDefFoundError: org/springframework/boot/SpringApplication中的异常。

最初我的 pom.xml 中也有 maven-jar-plugin:

<plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.4.2</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>..myApplication</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>

maven-jar-plugin 实际上是在 MANIFEST.MF 中添加了 mainClass,但后来我认为 spring-boot-maven-plugin 因此没有正确执行,所以我删除了 maven-jar-plugin,但即使删除了 maven- jar-plugin MANIFEST.MF 包含“Created-By: Maven JAR Plugin 3.4.2”。所以我认为由于 maven-jar-plugin,jar 无法使用 boot-inf/lib 和其他文件夹正确生成。即使我删除了 maven-jar-plugin,我也不确定它在项目中的情况。

spring-boot jar maven-plugin
1个回答
0
投票

看起来我在下面添加了 spring-boot-maven-plugin:

`

spring-boot-maven-插件

`

当它应该低于 .现在我的 jar 已正确生成,只是不确定为什么 MANIFEST.MF 仍然有“Created-By: Maven JAR Plugin 3.4.2”。

© www.soinside.com 2019 - 2024. All rights reserved.