springboot maven 多模块 jenkins 单独打包子项目

springboot项目中使用了dubbo拆分了几个微服务,这就涉及到每个微服务项目如何单独构建,而不是打包所有项目(浪费时间)

项目结构

在这里插入图片描述

简单描述下项目的所有pom.xml设计

  1. 顶级的root pom.xml 没有任何build插件
  2. 在有SpringBootApplication子项目中加入build插件
	<build>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>${maven.compiler.plugin.version}</version>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
						<encoding>${project.build.sourceEncoding}</encoding>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
					<version>${spring.boot.version}</version>
					<executions>
						<execution>
							<goals>
								<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
							</goals>
						</execution>
					</executions>
					<dependencies>
						<dependency>
							<groupId>org.springframework</groupId>
							<artifactId>springloaded</artifactId>
							<version>${springloaded.version}</version>
						</dependency>
					</dependencies>
				</plugin>
			</plugins>
		</build>

重点:需要加入spring-boot-maven-plugin这个插件

jenkins打包

我是配置一个maven风格的项目 然后在配置
root pom 指向的是最顶级的pom.xml
clean install -pl ean-edu/ean-edu-rpc-service -am -amd -Pdev -Dmaven.test.skip=true
这样就单独构建ean-edu-rpc-service这个jar,相关依赖也会构建好,不用将依赖提前放入maven仓库
在这里插入图片描述

亲测可用!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐