Spring Cloud 构建父子项目

243 阅读1分钟

1. 构建父工程项目(sts插件)

  • 指定父工程的项目信息 image.png
  • 选择插件 image.png
  • 修改父工程的pom.xml 在project父标签中加入<packaging>pom</packaging>, 把spring-cloud-starter-netflix-eureka-client的依赖包去掉。pom.xml的配置内容是这样:
    <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.6.6</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>mall</groupId>
	<artifactId>newbee-mall-master</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>newbee-mall-master</name>
	<description>Demo project for Spring Boot</description>
	<properties>
		<java.version>1.8</java.version>
		<maven-jar-plugin.version>3.0.0</maven-jar-plugin.version>
		<spring-cloud.version>2021.0.1</spring-cloud.version>
	</properties>
	<dependencies>
	
            <!--<dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency> -->
		
		<dependency>
		    <groupId>com.baomidou</groupId>
		    <artifactId>mybatis-plus</artifactId>
		    <version>3.5.1</version>
		</dependency>
		
		<dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-devtools</artifactId>
                    <scope>runtime</scope>
                    <optional>true</optional>
		</dependency>
		<dependency>
                    <groupId>org.projectlombok</groupId>
                    <artifactId>lombok</artifactId>
                    <optional>true</optional>
		</dependency>
		<dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-test</artifactId>
                    <scope>test</scope>
		</dependency>
		
	</dependencies>
	
	<dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>${spring-cloud.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
	</dependencyManagement>

	<build>
            <plugins>
                <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                        <configuration>
                            <excludes>
                                    <exclude>
                                            <groupId>org.projectlombok</groupId>
                                            <artifactId>lombok</artifactId>
                                    </exclude>
                            </excludes>
                        </configuration>
                </plugin>
            </plugins>
	</build>
	
	<modules>
		<module>newbee-mall-service</module>
	</modules>
	<packaging>pom</packaging>
</project>

2. 构建子工程项目

  • 指定子工程的项目信息 取消打勾[Use Default location]以来手动修改本地路径,把父工程改为你父工程的文件夹名 image.png
  • 选择插件 选择除父工程的依赖包以外所需的依赖包。
  • 修改pom.xml文件 把pom.xml的父标签project的子标签parent内容改为下面配置代码,自动添加了父工程依赖
`<groupId>mall</groupId>
<artifactId>newbee-mall-master</artifactId>`

子工程的pom.xml的具体内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	
	<parent>
		<groupId>mall</groupId>
		<artifactId>newbee-mall-master</artifactId>
  		<version>0.0.1-SNAPSHOT</version>
	</parent>
	
	<artifactId>newbee-mall-service</artifactId>
	<name>newbee-mall-service</name>
	<description>Demo project for Spring Boot</description>
	
	<properties>
		<java.version>1.8</java.version>
		<maven-jar-plugin.version>3.0.0</maven-jar-plugin.version>
	</properties>
	
	<dependencies>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
	</dependencies>

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

</project>
  • 父子工程构建完毕,接下来测试子工程的项目是否添加了父工程的依赖,用代码测试。

3. 测试代码

image.png

  • 通过上面的图片说明了子工程的项目添加好了父工程的依赖。