我有一个多模块Maven / Spring Boot (v2.3.3)应用程序,实现如下:
my-project (pom)
\__ my-api (jar) - rest api controllers
\__ my-core (jar) - entities, repositories and service beans
\__ my-db (jar) - DB migration (with Mongock)
项目和应用程序运行良好,没什么大不了的。"my- API“模块有一个主spring启动应用程序类,它像往常一样运行API。
问题是,最近我添加了" my -db“模块来实现MongoDB迁移,以便在CI部署中实现自动化。" my -db“模块还有另一个主要的spring引导应用程序类,它是一个运行迁移过程的独立应用程序,我希望在CI环境中实现自动化。
问题是我的maven构建没有为" my -db“模块生成一个胖的可执行JAR,只为"my-api”模块生成了一个可执行的JAR文件。
我是不是遗漏了什么?
我的项目pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
my-api pom.xml:
<build>
<finalName>my-api</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>my.ApiApplication</mainClass>
<executable>true</executable>
<layout>JAR</layout>
<fork>true</fork>
<skip>false</skip>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
my-core pom.xml:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
my-db pom.xml:
<properties>
<start-class>my.DbMigrationApp</start-class>
</properties>
<build>
<finalName>my-db</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
发布于 2020-09-04 22:17:57
看起来这个配置在"my-db“pom文件的插件块中丢失了。
<configuration>
<skip>false</skip>
</configuration>
https://stackoverflow.com/questions/63748599
复制相似问题