Spring Boot 执行重新 Package :无法重新打包目标:找不到主类

3phpmpom  于 2023-02-04  发布在  Spring
关注(0)|答案(3)|浏览(156)

我在 Spring 重新打包时遇到错误:无法执行目标组织。springframework。 Boot :spring-boot-maven插件:2.1.7。版本:重新打包(重新打包)项目pet-clinic-data:目标组织执行重新打包.springframework. Boot :spring-boot-maven-plugin:2.1.7. RELEASE:重新打包失败:找不到主类。
即使我用了true

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                        <conifguration>
                            <skip>true</skip>
                        </conifguration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

并且pom已经设置好了。由于我没有任何主类,如何解决这个错误
已尝试。m2/repository已删除所有文件并再次清理代码

t2a7ltrp

t2a7ltrp1#

在使用多模块结构时,请记住spring-boot-maven-plugin必须放在包含主类的模块的pom.xml中,这样Spring才能创建jar,该jar在启动时将检查特定的类。
如果您是从Spring Initializr启动项目的,请将这部分代码从主pom.xml移到包含主类的pom中:

<plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>

另外,请注意您拼写错误了“configuration”标记(您写的是“conifguration”)

wn9m85ua

wn9m85ua2#

我通过在both pom中的“build”标记后添加**“pluginManagement”**标记来解决这个问题。

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                * --- your code or other configurations --- *
            </plugin>
        </plugins>
    </pluginManagement>
</build>

或者,也可以尝试在数据模块pom中添加此属性

<properties>
    <spring-boot.repackage.skip>true</spring-boot.repackage.skip>
</properties>
kx1ctssn

kx1ctssn3#

<build>部分下,添加<sourceDirectory><testSourceDirectory>以指定模块的源代码目录,从而修复此问题。

<build>
    <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
    <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-plugin</artifactId>
            <configuration>
                <args>
                    <arg>-Xjsr305=strict</arg>
                </args>
                <compilerPlugins>
                    <plugin>spring</plugin>
                </compilerPlugins>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <artifactId>kotlin-maven-allopen</artifactId>
                    <version>${kotlin.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

相关问题