maven学习简单总结
maven从java web开发角度来说,主要是用来解决jar包导入以及依赖问题和项目打包部署的
一.maven的目录结构
其中的lib包是maven的源代码目录
config中的setting.xml可以看做是maven的配置文件
二.命令
1.maven help:system:让maven执行一个真正的任务,maven会下载maven-help-plugins将pom和jar下载到本地仓库
2.maven clean:对项目进行清理,清理的过程中会删除删除target目录下编译的内容
3.maven compile:编译项目源代码
4.maven test:对项目的运行测试
5.mvn clean package:打包项目
6.mvn install:在本地仓库生成仓库的安装包可以供其他项目引用,同时打包后的文件存放到项目的 target 目录下
三、maven配置代理
在setting.xml中:修改
<proxies>
<proxy>
<id>optional</id> (代理名称)
<active>true</active> (是否被**)
<protocol>http</protocol> (代理协议)
<host>proxy.lngnet.com.cn</host> (代理主机名)
<port>3222</port> (代理端口)
<nonProxyHosts>11.*|*.lngnet.com.cn</nonProxyHosts> (不需要代理的主机)
</proxy>
</proxies>
四、maven的pom.xml各节点
<?xml version="1.0" encoding="UTF-8"?> (xml文档版本和编码方式)
<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">
(project是所有pom.xml根元素)
<modelVersion>4.0.0</modelVersion> (指定当前pom模型版本)
<groupId>com.example</groupId> (定义了项目属于哪个组,这个组往往和项目所在的组织或者公司存在关联)
<artifactId>demo</artifactId> (定义当前maven项目中唯一的ID)
<version>0.0.1-SNAPSHOT</version> (指定了groupid所定义的项目版本)
<package>war</package> (该元素定义maven项目的打包方式,默认jar包)