02 Maven 环境配置与基本使用
1. 安装 Maven
1.1 软件的下载
https://maven.apache.org/download.cgi
1.2 软件的安装
Maven 下载后,将 Maven 解压到一个没有中文没有空格的路径下, 得到以下几个文件夹:
bin: 存放了 maven 的命令
boot: 存放了一些 maven 本身的引导程序,如类加载器等
conf: 存放了 maven 的一些配置文件,如 setting.xml 文件
lib: 存放了 maven 本身运行所需的一些 jar 包
1.3 环境变量的配置
首先准备工作:
电脑上需安装 java 环境,安装 JDK1.7 + 版本, 并且配置了 JAVA_HOME 环境变量;
然后配置 Maven 的环境变量;
Window + E 快捷键打开资源管理器,在右侧找到我的电脑右击 -- > 属性 -- > 右上角高级系统设置 --> 找到环境变量;
将 Maven 的 bin 目录配置到 path 上.(看不明白这里自行百度)
配置 Ok 后, 快捷键 Window + R 打开运行窗口, 输入 cmd 打开命令行;
然后输入 mvn -v ,如果出现了你的 Maven 版本号,则说明安装成功.
2. 仓库的认识
2.1 Maven 仓库的分类
Maven 仓库分为三类:
- 本地仓库
- 用来存储从远程仓库或*仓库下载的插件和 jar 包
- 本地仓库默认是在 ${user.dir}/.m2/repository , ${user.dir} 表示 windows 用户根目录
- 远程仓库(私服)
- 如果本地需要插件或者 jar 包,本地仓库没有,默认去远程仓库下载。 远程仓库可以在互联网内也可以在局域网内。
- 为什么使用远程仓库:
- 公司内部项目所需要的 jar 包 放到一个统一的地方;
- *仓库使用的人比较多,速度会很慢。
- *仓库
- 在 maven 软件中内置一个远程仓库地址 http://repo1.maven.org/maven2 ,它是中 央仓库,服务于整个互联网,它是由 Maven 团队自己维护,里面存储了非常全的 jar 包,它包 含了世界上大部分流行的开源项目构件。
- 有些 jar 包下载需要*,所以建议配置阿里云的镜像,具体配置下面会介绍;
以上三个仓库的关系 :
默认情况下: 项目在使用一些插件或 jar 包,优先从本地仓库查找, 如果本地没有的话, 如果联网,会去*仓库去寻找;
在公司开发时: 项目在使用一些插件或 jar 包,优先从本地仓库查找, 如果本地没有的话, 就去远程仓库(私服) 的仓库寻找, 如果私服也没有,可以将需要的 jar 包上传到私服的仓库,或是私服从*仓库下载.
2.2 修改本地仓库的位置
本地仓库默认在系统盘中(也就是说下载的一些 Jar 包全部会下载到系统盘), 我不想使用 maven 默认仓库路径怎么办?
打开以下文件:
Maven 安装目录 --> conf --> settings.xml
在52行左右大概有这么一行:
可以看到,默认路径 ${user.home}/.m2/repository
如果想要自己配置本地仓库的目录,只需要把以上注释中的 <localRepository> 标签放到注释外,标签内容就是本地仓库的路径, 路径中不允许出现中文和空格!!
例如:在 localRepository 标签内配置了本地仓库的路径.
2.3 配置阿里云镜像
也是在 setting.xml 中
有些资源被墙(国内无法下载),所以在 setting.xml 中 <mirrors> 标签中配置以下内容
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
小插曲:部分开发者喜欢在 mirrorOf 标签内定义 * ,实际上这样并不好,具体原因请看这里,若链接失效请及时通知;
https://blog.csdn.net/qq_31071543/article/details/81564562
2.4 全局 setting 与用户 setting
maven 仓库地址、私服等配置信息需要在 setting.xml 文件中配置,分为全局配置和用户配置。
在 maven 安装目录下的有 conf/setting.xml 文件,此 setting.xml 文件用于 maven 的所有 project 项目,它作为 maven 的全局配置。
如需要个性配置则需要在用户的 setting 中设置,用户配置的 setting.xml 文件默认的位置在:${user.dir} /.m2/settings.xml 目录中,${user.dir} 指 windows 中的用户目录。
maven 会先找用户配置,如果找到则以用户配置文件为准,否则使用全局配置文件。
全局的 setting中可以使用 localRepository 标签修改用户的默认地址;
3. Maven 工程的认识
3.1 Maven 的标准目录结构
大致分为以下四个部分:
1. 核心代码部分
2. 核心代码的配置文件
3. 测试代码部分
4. 测试代码的配置文件
5. 页面资源, js ,css, image 等
目录结构:
mavenProduct -- 项目名
|-- src -- 源代码
|-- main
-- java -- 核心源码部分
-- resources -- 核心代码的配置文件
-- webapp -- 页面资源
|-- test
-- java -- 测试的代码部分
-- resources -- 测试代码的配置文件
|-- target -- 编译生成的文件
|-- pom.xml -- maven 工程的配置文件
如果是 Java 项目的话不需要 webapp 这个目录,如果是 Web 项目的话则需要.
以下为官网给出的结构:
3.2 使用 Maven 构建一个项目
在一个目录中打开 cmd 输入以下命令:则会在当前目录新建一个 Maven 项目;
mvn archetype:generate -DgroupId=com.mobaii-DartifactId=cms -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeCatalog=internal
maven-archetype-webapp : 表示新建一个 web 项目
maven-archetype-quickstart :表示新建一个 java 项目
-DarchetypeCatalog=internal :本地如果有依赖的话则不去下载; 可选参数;
3.3 Maven 工程的运行
cmd 进入 maven web 工程目录(当前目录有 pom.xml 文件),运行 tomcat7:run 命令。
最好不要使用 tomcat:run 运行, 它使用的是 tomcat6 插件 , 不支持 JDK1.8,如果提示端口占用,可以使用以下命令换个端口运行:
执行 web 项目:
mvn tomcat:run -Dmaven.tomcat.port=8085
执行Java项目:
mvn exec:java -Dexec.mainClass=类的全限命名
使用 tomcat7:run 首先在 pom.xml 中配置 tomcat7 插件.
然后在命令行进入项目根目录,执行 tomcat7:run 会获得一个地址(在 cmd 命令行中查找), 访问即可.
更多有关 Maven 的使用都可以在 Maven 的专栏看到。