1.下载maven插件及配置阿里云镜像地址
至https://maven.apache.org/,点击Download,下载apache-maven-3.6.0-bin.zip,解压到C盘根目录,然后将C:apache-maven-3.6.0in添加到path,同时新建M2_HOME的系统环境变量,值为C:apache-maven-3.6.0。
在~/.m2目录(如:C:UsersHP.m2)下新建,settings.xml,填入下面的配置:
<settings> <mirrors> <mirror> <id>aliyun</id> <name>aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> </settings>
2.新建maven工程
打开eclipse,File—New—Project—Maven Project,点击下一步,默认选择Use default Workspace location,
点击下一步,选择默认的maven-archetype-quickstart 1.1 ,点下一步,输入Group Id,如com.yang,Artifact Id,如hello,点完成。
修改pom.xml,修改默认的java版本未java1.8,修改默认的Junit版本为Junit 4.12
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies>
3.hellomaven的pom文件
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-jcl</artifactId> <version>2.8.2</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.8.2</version> <scope>runtime</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> </dependencies>
4.项目拆分模块
将hellomaven复制一份为greeting,然后将代码改为如图:pom文件也如图:
在原hellomaven项目中引用greeting,修改hellomaven的pom文件
然后在app文件中引用greeting,点击Run可以直接运行App文件
5.抽取pom父类
hellomaven和greeting项目的pom文件有太多相似,需要抽取出父类pom文件。
将greeting项目复制一份命名为parent,将java文件删除,修改pom文件,如图:
修改greeting的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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.feiyangedu.sample</groupId> <artifactId>parent</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath>../parent/pom.xml</relativePath> </parent> <artifactId>greeting</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> </project>
修改hellomaven项目的pom文件如下,点击hellomaven项目的app即可正确运行
<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> <parent> <groupId>com.feiyangedu.sample</groupId> <artifactId>parent</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath>../parent/pom.xml</relativePath> </parent> <artifactId>hellomaven</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>com.feiyangedu.sample</groupId> <artifactId>greeting</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies> </project>
6.模块化编译
项目分为多个模块后,需要进行模块化编译。
将parent项目复制一遍,命名为build,修改其pom文件为如下,然后在build项目的路径下启动cmd,执行编译:mvn clean compile,即可以将这3个项目编译。
<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.feiyangedu.sample</groupId> <artifactId>build</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <modules> <module>../parent</module> <module>../greeting</module> <module>../hellomaven</module> </modules> </project>