搭建多个Maven子项目
第一次写博客,以记录第一次构建多个maven子项目为准。
大致介绍(不太懂格式,顺着思路写)
项目名称:xcn_dsxm
项目模块:
main 主函数,启动项
main_public 公共工具
xcn_administrators 超级管理员
xcn_customer 客户后台管理
xcn_merchant 商家后台管理
xcn_analysis 流量分析平台
xcn_member会员管理平台
xcn_order 订单管理
xcn_pay 支付管理
xcn_commodity 商品管理
xcn_login 登陆
xcn_annex 附件功能
xcn_shoppingcart 购物车管理
xcn_dailyRecord日志存放路径
开始搭建
在 文件夹中创建一个新的目录(E:\NewProject)
第一步:选中Module
选中Maven 直接Next
GroupId 为项目结构(根目录不需要src文件所以可以随便写,随后删除)
直接Next—>Finish
项目结构,删除src(根目录不需要src文件)
创建maven子项目:main_public(公共类不需要springboot启动项)
再此强调
GroupId为src下的 java目录结构(也是pom文件相互依赖的关联结构)
ArtifactId是子项目名称(也是pom文件相互依赖的关联名字)
直接Finish
xcn_dsxm下的pom.xml已经有了main_public的
紧接着创建main
springboot选项
Group:java目录结构 Artifact:项目名称
Maven Project 创建maven子项目
Packaging:Jar和War的区别 https://www.jianshu.com/p/3b5c45e8e5bd
能想到的都写出来了,才疏学浅
Next->Finish
main下的
.mvn
.gitignore
HELP.md
mvnw
mvnw.cod
统统删掉
.mvn是jar包仓库,这个你在设置中自己部署一个maven仓库。
其他模块如同main一样的方式搭建
各个模块之间的关联关系!!!!
所有的模块继承parent xcn_dsxm的pom.xml
也就是统一管理maven.jar(用啥工具,你往xcn_dsxm的pom中放,子maven的pom只要继承就好了)
这是俺的xcn_dsxm的pom.xml,接下来你在看main和main_public的pom,去观察他们的关联关系
<?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>
<!-- 基本信息:作为聚合工程的父工程-->
<name>小菜鸟电商项目</name>
<groupId>com.xcn.dsxm</groupId>
<artifactId>xcn_dsxm</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
</parent>
<!--声明多个子模块-->
<modules>
<!--项目入口-->
<module>main</module>
<!--全工程公共类-->
<module>main_public</module>
<!--管理员系统-->
<module>xcn_administrators</module>
<!--会员管理系统-->
<module>xcn_member</module>
<!--支付系统-->
<module>xcn_pay</module>
<!--购物车管理系统-->
<module>xcn_shoppingcart</module>
<!--订单管理系统-->
<module>xcn_order</module>
<!--商家后台管理系统-->
<module>xcn_merchant</module>
<!--流量统计分析-->
<module>xcn_analysis</module>
<!--客户后台管理系统-->
<module>xcn_customer</module>
<!--商品管理系统-->
<module>xcn_commodity</module>
<!--登录管理系统-->
<module>xcn_login</module>
<!--附件功能系统-->
<module>xcn_annex</module>
</modules>
<dependencyManagement>
<dependencies>
<!--项目入口-->
<dependency>
<groupId>com.xcn.dsxm.main</groupId>
<artifactId>main</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--全工程公共类-->
<dependency>
<groupId>com.xcn.dsxm.main_public</groupId>
<artifactId>main_public</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--管理员系统-->
<dependency>
<groupId>com.xcn.dsxm.xcn_administrators</groupId>
<artifactId>xcn_administrators</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--会员管理系统-->
<dependency>
<groupId>com.xcn.dsxm.xcn_member</groupId>
<artifactId>xcn_member</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--支付系统-->
<dependency>
<groupId>com.xcn.dsxm.xcn_pay</groupId>
<artifactId>xcn_pay</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--购物车管理系统-->
<dependency>
<groupId>com.xcn.dsxm.xcn_shoppingcart</groupId>
<artifactId>xcn_shoppingcart</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--订单管理系统-->
<dependency>
<groupId>com.xcn.dsxm.xcn_order</groupId>
<artifactId>xcn_order</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--商家后台管理系统-->
<dependency>
<groupId>com.xcn.dsxm</groupId>
<artifactId>xcn_merchant</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--流量统计分析-->
<dependency>
<groupId>com.xcn.dsxm.xcn_analysis</groupId>
<artifactId>xcn_analysis</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--客户后台管理系统-->
<dependency>
<groupId>com.xcn.dsxm.xcn_customer</groupId>
<artifactId>xcn_customer</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--商品管理系统-->
<dependency>
<groupId>com.xcn.dsxm.xcn_shoppingcart</groupId>
<artifactId>xcn_commodity</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--登录管理系统-->
<dependency>
<groupId>com.xcn.dsxm.xcn_login</groupId>
<artifactId>xcn_login</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--附件功能系统-->
<dependency>
<groupId>com.xcn.dsxm.xcn_annex</groupId>
<artifactId>xcn_annex</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!--测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<!--log4j-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<!--jdbc连接数据库-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
<!--jsonObject-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.58</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.10</version>
</dependency>
<!--aspectJ-->
<dependency>
<groupId>aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.5.4</version>
</dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<!--连接数据库-->
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2.2</version>
</dependency>
</dependencies>
</project>
main下的pom文件,继承parent,引入其他 子项目统一管理
<?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>
<!--基本信息-->
<name>main</name>
<groupId>com.xcn.dsxm.main</groupId>
<artifactId>main</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--继承本项目父工程-->
<parent>
<groupId>com.xcn.dsxm</groupId>
<artifactId>xcn_dsxm</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>com.xcn.dsxm.main_public</groupId>
<artifactId>main_public</artifactId>
</dependency>
<dependency>
<groupId>com.xcn.dsxm.xcn_administrators</groupId>
<artifactId>xcn_administrators</artifactId>
</dependency>
<dependency>
<groupId>com.xcn.dsxm.xcn_analysis</groupId>
<artifactId>xcn_analysis</artifactId>
</dependency>
<dependency>
<groupId>com.xcn.dsxm.xcn_annex</groupId>
<artifactId>xcn_annex</artifactId>
</dependency>
<dependency>
<groupId>com.xcn.dsxm.xcn_commodity</groupId>
<artifactId>xcn_commodity</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xcn.dsxm.xcn_customer</groupId>
<artifactId>xcn_customer</artifactId>
</dependency>
<dependency>
<groupId>com.xcn.dsxm.xcn_login</groupId>
<artifactId>xcn_login</artifactId>
</dependency>
<dependency>
<groupId>com.xcn.dsxm.xcn_member</groupId>
<artifactId>xcn_member</artifactId>
</dependency>
<dependency>
<groupId>com.xcn.dsxm.xcn_merchant</groupId>
<artifactId>xcn_merchant</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.xcn.dsxm.xcn_order</groupId>
<artifactId>xcn_order</artifactId>
</dependency>
<dependency>
<groupId>com.xcn.dsxm.xcn_pay</groupId>
<artifactId>xcn_pay</artifactId>
</dependency>
<dependency>
<groupId>com.xcn.dsxm.xcn_shoppingcart</groupId>
<artifactId>xcn_shoppingcart</artifactId>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>
main_public下的pom文件
<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>
<!--基本信息-->
<name>main_public</name>
<groupId>com.xcn.dsxm.main_public</groupId>
<artifactId>main_public</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--继承本项目父工程-->
<parent>
<groupId>com.xcn.dsxm</groupId>
<artifactId>xcn_dsxm</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>
Setting设置Maven
apache-maven是我自己个儿的jar包小仓库,你们也可以自己整一个 。