Java Spring Boot多模块maven项目重新打包失败
我目前正在学习John Thompson的Spring框架初学者到大师课程。我按照他的步骤在SpringBoot上为SpringPetClinic创建多模块maven项目。当我点击根模块上的package时,它说重新打包失败,找不到主类Java Spring Boot多模块maven项目重新打包失败,java,spring-boot,spring-mvc,multi-module,spring-boot-maven-plugin,Java,Spring Boot,Spring Mvc,Multi Module,Spring Boot Maven Plugin,我目前正在学习John Thompson的Spring框架初学者到大师课程。我按照他的步骤在SpringBoot上为SpringPetClinic创建多模块maven项目。当我点击根模块上的package时,它说重新打包失败,找不到主类 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
<configuration>
<skip>true</skip>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
org.springframework.boot
springbootmaven插件
重新包装
真的
[错误]无法执行goal org.springframework.boot:spring boot maven plugin:2.1.6.发布:对项目宠物诊所数据重新打包(重新打包):执行goal org.springframework.boot:spring boot maven plugin:2.1.6.发布:重新打包失败:找不到主类->[Help 1]错误本身就说明了问题。执行器找不到您的主类。它与pom.xml无关。但这一切都与您用来构建和运行spring boot项目的环境有关 如果您正在使用IntelliJ,请转到
运行/调试配置
(在屏幕截图上添加配置
,在您的情况下,它可能是其他内容)并确保主类退出。然后轻触班次两次,键入使缓存无效/重新启动
,然后同时执行这两项操作。那么它应该像预期的那样工作
您使用的是spring boot maven插件:2.1.6.RELEASE 由于SpringBoot2,您不再需要SpringBoot插件 声明模块的工件id后,可以使用以下代码
<artifactId>pet-clinic-data</artifactId>
<properties>
<spring-boot.repackage.skip>true</spring-boot.repackage.skip>
</properties>
宠物诊所数据
真的
spring boot maven插件应仅位于包含主类的模块的pom.xml中。看起来这个插件位于(或由)一个简单的jar模块上,主模块将使用该模块作为依赖项
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
org.springframework.boot
springbootmaven插件
主类用@SpringBootApplication注释
<configuration>
<skip>true</skip>
</configuration>
真的
并添加“spring boot.repackage.skip”属性,如下所示:
<artifactId>pet-clinic-data</artifactId>
<properties>
<spring-boot.repackage.skip>true</spring-boot.repackage.skip>
</properties>
宠物诊所数据
真的
spring boot maven插件至少在运行spring boot v2.1.7.RELEASE和spring v5.1.9.RELEASE的应用程序中仍然是必需的。如果我注释掉插件,我的应用程序就会失败,“没有主清单属性,在.jar中”。