maven创建父子依赖项目—pom

单体项目:目前的项目都是单体项目,一个项目的结构。
父子依赖项目:可以嵌套很多层的项目结构,(父亲-儿子-孙子-重孙子…|项目套项目|大项目套小项目|等)是必须要会的!后期用springcloud开发就要用父子依赖结构的项目。

maven创建父子依赖项目:

参考思路:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
引用兄弟项目:
在这里插入图片描述

思维图:

两种拆分项目的方式:横向拆分(按照项目结构拆分)、纵向拆分(按照业务模块拆分
在这里插入图片描述

三种项目示例:

jar:控制台项目:

在这里插入图片描述

war:web项目:

在这里插入图片描述

war:web项目:(待写)

案例:横向拆分(按照项目结构进行拆分)

创建项目:

创建父级项目:

首先创建maven父类项目(这里的父级项目为普通的jar项目,具体要根据需要而定!)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

父级项目的功能/功能:

父级项目是用来用来组织子级项目。 不需要写代码。将项目目录下的src直接删掉!
在这里插入图片描述

补充:项目目录下的idea进行隐藏:

在这里插入图片描述
在这里插入图片描述

创建子级项目:

在这里插入图片描述

补:三层结构:

dao被sevrice依赖,sevrice被web依赖。
三层结构,可分为三个子级项目,分别是dao、servlet、web。

创建dao子级项目:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建service子级项目:(和创建dao子级项目相同)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建web子级项目:(和创建dao子级项目不同)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

父级项目和自己项目之间的联系:

父级的pom.xml:
在这里插入图片描述
dao子级的pom.xml:
在这里插入图片描述
service子级的pom.xml:
在这里插入图片描述
web子级的pom.xml:
在这里插入图片描述
在这里插入图片描述

所有的jar包依赖必须在父级项目中pox.xml中引用!

①问题/解决:子级的jar包依赖要保持一致,统一交给父级进行引入(dependency/ies),便于管理。
②问题/解决:父级引用依赖之后,所有子级继承父级所有的jar包依赖。但是有些子级根本就不需要某些jar包依赖。这时需要将所有子级的jar包依赖统一由父级进行引入和管理(dependencyManagement)【不做实际引用,只做管理】,子级根据需要从父级那里进行引入。

在父级项目下pom.xml引入需要的jar包依赖:

在这里插入图片描述
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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.yzh7</groupId>
    <artifactId>maven_0811_parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>dao</module>
        <module>service</module>
        <module>web</module>
    </modules>

    <properties>
        <webVersion>3.1</webVersion>
        <servlet-version>4.0.1</servlet-version>
        <jsp-version>2.2</jsp-version>
        <jstl-version>1.2</jstl-version>
        <spring-version>4.1.6.RELEASE</spring-version>
        <commons-dbcp-version>1.4</commons-dbcp-version>
        <aspectjweaver-version>1.8.6</aspectjweaver-version>
        <mybatis-version>3.4.6</mybatis-version>
        <mybatis-spring-version>1.3.3</mybatis-spring-version>
        <log4j-version>1.2.9</log4j-version>
        <mysql-connector-java-version>8.0.11</mysql-connector-java-version>
        <jackson-version>2.5.0</jackson-version>
        <commons-fileupload-version>1.3.1</commons-fileupload-version>
    </properties>

    <dependencies>
        <!-- 添加javaEE支持 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>${servlet-version}</version>
            <!-- provided只在编译时支持,发布时不拷贝文件 -->
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>${jsp-version}</version>
            <!-- provided只在编译时支持,发布时不拷贝文件 -->
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>${jstl-version}</version>
        </dependency>
        <!--  junit   -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <!-- dbcp连接池 -->
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>${commons-dbcp-version}</version>
        </dependency>
        <!-- jackson json支持包 -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>${jackson-version}</version>
        </dependency>
        <!-- mysql驱动类 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql-connector-java-version}</version>
        </dependency>

    </dependencies>


</project>
效果/问题/解决展示:
父级统一管理jar包依赖:

点击刷新父级pom.xml文件及右侧工具栏。可以看出所有的子级继承了父级的jar包依赖!
在这里插入图片描述
在这里插入图片描述
为了避免有些子级引用父类中不需要的jar包依赖。jar包依赖由父类进行统一的引入和管理(dependencyManagement),由子级根据需要从父类那里引用!

引用父级jar包依赖:

在这里插入图片描述
修改后的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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.yzh7</groupId>
    <artifactId>maven_0811_parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>dao</module>
        <module>service</module>
        <module>web</module>
    </modules>

    <properties>
        <webVersion>3.1</webVersion>
        <servlet-version>4.0.1</servlet-version>
        <jsp-version>2.2</jsp-version>
        <jstl-version>1.2</jstl-version>
        <spring-version>4.1.6.RELEASE</spring-version>
        <commons-dbcp-version>1.4</commons-dbcp-version>
        <aspectjweaver-version>1.8.6</aspectjweaver-version>
        <mybatis-version>3.4.6</mybatis-version>
        <mybatis-spring-version>1.3.3</mybatis-spring-version>
        <log4j-version>1.2.9</log4j-version>
        <mysql-connector-java-version>8.0.11</mysql-connector-java-version>
        <jackson-version>2.5.0</jackson-version>
        <commons-fileupload-version>1.3.1</commons-fileupload-version>
    </properties>

    <!-- dependencyManagement 依赖管理-->
    <dependencyManagement>
        <dependencies>
            <!-- 添加javaEE支持 -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servlet-version}</version>
                <!-- provided只在编译时支持,发布时不拷贝文件 -->
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>${jsp-version}</version>
                <!-- provided只在编译时支持,发布时不拷贝文件 -->
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>${jstl-version}</version>
            </dependency>
            <!--  junit   -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
            <!-- dbcp连接池 -->
            <dependency>
                <groupId>commons-dbcp</groupId>
                <artifactId>commons-dbcp</artifactId>
                <version>${commons-dbcp-version}</version>
            </dependency>
            <!-- jackson json支持包 -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson-version}</version>
            </dependency>
            <!-- mysql驱动类 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-connector-java-version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>

然后进行刷新pom.xml:(可以看到父级子级都没有了dependencies)
在这里插入图片描述

子级dao进行引用父级的jar包依赖:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

补充:子级也可从父级引用jar包依赖,版本号由子级自己定义:
在这里插入图片描述
子级的版本号与父级不同。
在这里插入图片描述
编写代码:
在这里插入图片描述
在这里插入图片描述

子级web进行引用父级的jar包依赖:

在这里插入图片描述

在这里插入图片描述

引用兄弟项目:
子级dao在pom.xml中引用兄弟的项目:

在这里插入图片描述
在这里插入图片描述
刷新自己的pom.xml:
在这里插入图片描述
引用即可:
在这里插入图片描述

子级web在pom.xml中引用兄弟项目:

在这里插入图片描述
在这里插入图片描述

修改子级web项目下web.xml版本配置:

在这里插入图片描述

修改子级web项目下pom.xml编译版本:

在这里插入图片描述

配置tomcatb:

在这里插入图片描述
在这里插入图片描述

运行结果:

在这里插入图片描述
在这里插入图片描述

项目代码整体结构:

在这里插入图片描述

代码:

父级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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.yzh7</groupId>
    <artifactId>maven_0811_parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>dao</module>
        <module>service</module>
        <module>web</module>
    </modules>

    <properties>
        <webVersion>3.1</webVersion>
        <servlet-version>4.0.1</servlet-version>
        <jsp-version>2.2</jsp-version>
        <jstl-version>1.2</jstl-version>
        <spring-version>4.1.6.RELEASE</spring-version>
        <commons-dbcp-version>1.4</commons-dbcp-version>
        <aspectjweaver-version>1.8.6</aspectjweaver-version>
        <mybatis-version>3.4.6</mybatis-version>
        <mybatis-spring-version>1.3.3</mybatis-spring-version>
        <log4j-version>1.2.9</log4j-version>
        <mysql-connector-java-version>8.0.11</mysql-connector-java-version>
        <jackson-version>2.5.0</jackson-version>
        <commons-fileupload-version>1.3.1</commons-fileupload-version>
    </properties>

    <!-- dependencyManagement 依赖管理-->
    <dependencyManagement>
        <dependencies>
            <!-- 添加javaEE支持 -->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servlet-version}</version>
                <!-- provided只在编译时支持,发布时不拷贝文件 -->
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>${jsp-version}</version>
                <!-- provided只在编译时支持,发布时不拷贝文件 -->
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>${jstl-version}</version>
            </dependency>
            <!--  junit   -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
            <!-- dbcp连接池 -->
            <dependency>
                <groupId>commons-dbcp</groupId>
                <artifactId>commons-dbcp</artifactId>
                <version>${commons-dbcp-version}</version>
            </dependency>
            <!-- jackson json支持包 -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson-version}</version>
            </dependency>
            <!-- mysql驱动类 -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-connector-java-version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

</project>
子级dao:
dao:
StudentDAOImpl:
package com.dao;

import com.util.BaseDAO;

import java.util.List;
import java.util.Map;

public class StudentDAOImpl {
    //不标准的代码步骤
    public List<Map<String,Object>> listAll(){
        return BaseDAO.executeQuery("select * from studentInfo",null);
    }
}

util:
BaseDAO:
package com.util;

import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class BaseDAO {

	//四大金刚
	//驱动类
	private static final String DRIVER="com.mysql.cj.jdbc.Driver";
	//连接地址
	private static final String URL="jdbc:mysql://localhost:3306/70806_db?useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai";
	//用户名
	private static final String USER="root";
	//密码
	private static final String PASSWORD="123456";

	//获取连接
	public static Connection getConnection(){

		Connection con = null;

		try{
			//加载驱动类
			Class.forName(DRIVER);
			//获取连接
			con = DriverManager.getConnection(URL,USER,PASSWORD);
			
		}catch(Exception ex){
			ex.printStackTrace();
		}

		return con;
	}

	//关闭数据库对象
	public static void closeAll(Connection con,Statement st,ResultSet rs){
		
		if(rs!=null){
			try{
				rs.close();
			}catch(Exception ex){
				ex.printStackTrace();
			}
			
		}

		if(st!=null){

			try{
				st.close();
			}catch(Exception ex){
				ex.printStackTrace();
			}
			
		}

		if(con!=null){
			try{
				con.close();
			}catch(Exception ex){
				ex.printStackTrace();
			}
			
		}

	}


	//通用设置参数方法
	public static void setParams(PreparedStatement pst,Object[] params){

		if(params==null){
			return;
		}

		for(int i=0;i<params.length;i++){
			try{
				pst.setObject(i+1,params[i]);
			}catch(Exception ex){
				ex.printStackTrace();
			}
		}
	}


	//通用增删改
	public static int executeUpdate(String sql,Object[] params){

		Connection con = null;
		PreparedStatement pst = null;
		
		int res = -1;
		
		try{

			//获取连接
			con = getConnection();
			//创建预编译命令执行对象
			pst = con.prepareStatement(sql);
			//设置参数
			setParams(pst,params);
			//执行
			res = pst.executeUpdate();

		}catch(Exception ex){
			ex.printStackTrace();
		}finally{
			closeAll(con,pst,null);
		}
		
		return res;
	}


	//通用查询
	public static List<Map<String,Object>> executeQuery(String sql,Object[] params) {

		List<Map<String,Object>> rows = new ArrayList<>();

		Connection con = null;
		PreparedStatement pst = null;
		ResultSet rs = null;

		try{
			//获取连接	
			con = getConnection();			
			//获取命令对象
			pst = con.prepareStatement(sql);
			//设置参数
			setParams(pst,params);
			//执行查询
			rs = pst.executeQuery();

			//通过rs获取结果集的结构信息
			ResultSetMetaData rsmd =  rs.getMetaData();
			//获取结果集的列数
			int colCount = rsmd.getColumnCount();

			//遍历查询结果,并封装到List<Map>中
			while(rs.next()){
				//用Map存储当前行的各个列数据
				Map<String,Object> map = new HashMap<>();
				//循环获取每一列的信息
				for(int i=1;i<=colCount;i++){
					//获取列名(使用rsmd)
					String colName = rsmd.getColumnLabel(i);
					//获取列值(使用rs)
					Object colVal = rs.getObject(i);
					//将当前列存储到map中
					map.put(colName,colVal);								
				}
				
				//将遍历的当前行的数据存储到List中
				rows.add(map);
							
			}


		}catch(Exception ex){
			ex.printStackTrace();
		}finally{
			closeAll(con,pst,rs);
		}
		
		return rows;

	}

}
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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>maven_0811_parent</artifactId>
        <groupId>com.yzh7</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>dao</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <!-- 引用父级的jar包依赖 -->
    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
    </dependencies>
</project>
子级service:
StudentServletImpl:
package com.service;

import com.dao.StudentDAOImpl;

import java.util.List;
import java.util.Map;

public class StudentServletImpl {
    //private StudentDAOImpl
    public List<Map<String,Object>> listAll(){
        return new StudentDAOImpl().listAll();
    }
}

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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>maven_0811_parent</artifactId>
        <groupId>com.yzh7</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>service</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <!-- 引用兄弟项目 -->
    <dependencies>
        <dependency>
            <groupId>com.yzh7</groupId>
            <artifactId>dao</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

</project>
子级web:
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
</web-app>
pom.xml:
<%@ page import="com.service.StudentServletImpl" %><%--
  Created by IntelliJ IDEA.
  User: 33154
  Date: 2022/8/14
  Time: 19:34
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%
        out.print(new StudentServletImpl().listAll());
    %>
</body>
</html>

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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>maven_0811_parent</artifactId>
        <groupId>com.yzh7</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>web</artifactId>
    <packaging>war</packaging>

    <name>web Maven Webapp</name>
    <!-- FIXME change it to the project's website -->
    <url>http://www.example.com</url>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencies>
        <!-- 添加javaEE支持 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <!-- provided只在编译时支持,发布时不拷贝文件 -->
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <!-- provided只在编译时支持,发布时不拷贝文件 -->
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <!-- 引用兄弟项目 -->
        <dependency>
            <groupId>com.yzh7</groupId>
            <artifactId>service</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
    </dependencies>

    <build>
        <finalName>web</finalName>
        <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
            <plugins>
                <plugin>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.0.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                </plugin>
                <plugin>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.22.1</version>
                </plugin>
                <plugin>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.2.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-install-plugin</artifactId>
                    <version>2.5.2</version>
                </plugin>
                <plugin>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
</project>

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在 Spring Boot 中创建父子项目是很常见的做法,可以实现模块化的开发和管理。下面是创建父子项目的步骤: 1. 打开你的 IDE(比如 IntelliJ IDEA 或 Eclipse),新建一个空的 Maven 项目作为父项目。 2. 在父项目pom.xml 文件中,配置 Maven 的 `packaging` 为 `pom`,这样该项目就会被识别为父项目。 ```xml <groupId>com.example</groupId> <artifactId>parent</artifactId> <version>1.0.0</version> <packaging>pom</packaging> ``` 3. 在父项目pom.xml 文件中,添加子模块的依赖项。子模块是指其他独立的 Maven 项目,它们可以是 Web 应用、业务模块等等。 ```xml <modules> <module>child1</module> <module>child2</module> <!-- 可以添加更多子模块 --> </modules> ``` 4. 在父项目pom.xml 文件中,可以配置一些公共的依赖项或插件供所有子模块使用。例如: ```xml <dependencies> <!-- 公共依赖项 --> </dependencies> <build> <plugins> <!-- 公共插件 --> </plugins> </build> ``` 5. 在 IDE 中右键点击父项目,选择 "New"(或类似选项),然后创建子模块。根据需要可以创建多个子模块。 6. 在子模块的 pom.xml 文件中,配置正确的父项目信息。注意,`<parent>` 标签的配置要与父项目的信息一致。 ```xml <parent> <groupId>com.example</groupId> <artifactId>parent</artifactId> <version>1.0.0</version> </parent> <artifactId>child1</artifactId> <packaging>jar</packaging> ``` 7. 开发你的子模块,可以在子模块中添加自己独立的依赖项和配置。每个子模块都是一个独立的 Maven 项目。 通过以上步骤,你就成功地创建了一个父子项目结构。父项目可以用于管理共享的依赖项和插件,而每个子模块可以专注于自己的开发和构建过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值