maven的简介
maven
是一个专门为java
项目打造的项目管理和构建工具
- 提供了一套标准的项目结构
- 提供了一套标准的构建流程(编译,测试,打包,发布......)
- 提供了一套依赖管理机制
maven
的项目结构
-
普通的
java
项目pom.xml
:maven
项目配置文件src/main/java
:存放java
源码src/main/resources
:存放资源文件的目录src/test/java
:存放测试源码的目录src/test/resources
:存放测试资源的目录target
:存放所有编译、打包生成的文件
修改默认配置
修改默认本地仓库
找到localRepository
标签,复制该行,填写本地仓库路径,如图所示。
修改默认远程仓库
在mirrors
标签中添加阿里的maven
仓库镜像
<!--阿里云公共仓库--> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>aliyun maven</name> <url>https://maven.aliyun.com/repository/public</url> </mirror>
pom.xml文件
-
modelVersion
:maven
模板的版本,对于maven2
和maven3
来说,它只是有4.0.0
-
groupId
:组织id
,一般是公司域名的倒写。- 域名倒着写:
com.baidu
- 域名倒着写+项目名:
com.baidu.appolo
- 域名倒着写:
-
artifactId
:项目名称,也可以是项目模块名称,对应groupId
中的子项目。 -
version
:项目的版本号。如果项目还在开发中,是不稳定版本,通常在版本后带-SNAPSHOT
。version
使用三位数字标识,例如:1.0.0
注意:
groupId
+artifactId
+version
称为坐标。唯一值,在互联网中唯一标识一个项目。1 <groupId>公司域名的倒写</groupId> 2 <artifactId>自定义项目名称</artifactId> 3 <version>自定义版本号</version>
-
packaging
:打包后压缩文件的扩展名,默认是jar,web应用是war。 -
依赖
1 <dependencies> 2 <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> 3 <dependency> 4 <groupId>mysql</groupId> 5 <artifactId>mysql-connector-java</artifactId> 6 <version>8.0.25</version> 7 </dependency> 8 </dependencies>
-
properties
:设置属性 -
build
:maven在进行项目的构建时,配置信息,例如指定编译java代码使用的jdk的版本
maven的生命周期
maven常用命令
- mvn clean
- mvn compile
- mvn test-compile
- mvn test
- mvn package
- mvn install
- mvn deploy
在idea中配置maven
以上的操作是配置当前项目的maven,要想对新的项目也有效,就需要配置File
中的Other Settings
,如图所示。
创建maven项目
创建Java项目
点击"Next"。
填写坐标,点击"Next"。
然后更改maven配置,使用自己安装的maven。
最后点击"Finish"。
在创建好的maven项目中创建两个文件夹,有时候会自动创建,有时候不会自动创建,需要自己手动创建。在main
目录下创建resources
目录,并且右击resources目录,选择Mark Directory as中的Resources Root,如图1。在test
目录下创建resources
目录,并且右击resources目录,选择Mark Directory as中的Test Resources Root,如图2。
图1
图2
设置项目编译命令
项目的打包
创建Web项目
-
选择maven模板
maven-archetype-webapp
其它的都选
Next
,最后选Finish
即可。创建好Web项目后,修改一下pom.xml配置文件,把默认的jdk1.7改为1.8,把junit4.11改为junit4.12,将
pluginManagement
标签中删除。只保留如下图所示的内容。在
plugins
标签中写入如下内容1 <!-- jetty 插件 --> 2 <plugin> 3 <groupId>org.eclipse.jetty</groupId> 4 <artifactId>jetty-maven-plugin</artifactId> 5 <version>9.4.15.v20190215</version> 6 <configuration> 7 <httpConnector> 8 <port>9090</port> <!-- 这里指定 jetty 服务的端口号 --> 9 </httpConnector> 10 <webAppConfig> 11 <contextPath>/maven02</contextPath> <!-- 这里指定在浏览器访问时,当前Web应用的根路径 --> 12 </webAppConfig> 13 </configuration> 14 </plugin>
在
plugins
标签中再写入tomcat
插件信息 -
1 <!-- Tomcat 插件 --> 2 <plugin> 3 <groupId>org.apache.tomcat.maven</groupId> 4 <artifactId>tomcat7-maven-plugin</artifactId> 5 <version>2.1</version> 6 <configuration> 7 <port>8081</port> <!--启动端口默认:8080 --> 8 <path>/test</path> <!--项目的站点名,即对外访问路径--> 9 <uriEncoding>UTF-8</uriEncoding> <!--字符集编码默认:ISO-8859-1 --> 10 <server>tomcat7</server> <!--服务器名称 --> 11 </configuration> 12 </plugin>
先来配置maven启动jetty
-
然后就可以点击右上角的运行按钮了,如图所示。
当你看到这些信息说明成功运行jetty服务器
指定端口的另一种方式是在命令中
jetty:run -Djetty.http.port=9090
配置tomcat同理,如图所示。
maven环境下多模块项目的构建
-
创建父模块,什么也不用选,直接点击
Next
,然后填写GroupId
和ArtifactId
,点击Next
,最后点击Finish
即可。
转载于:https://blog.lukeewin.top/archives/maven