今天在安装Maven中,遇到了点小问题,最后解决了,所以我来记录一下出现问题以及它的解决方法吧。
如果在项目的pom.xml中引用jar包的版本,然后自动会给你下载好放到maven本地仓库中,如果导包不成功,那就把jar包删了重建。
Maven的安装配置
1.Maven的下载http://maven.apache.org/download.cgi,从该网站下载。我使用的是apache-maven-3.5.3。
2.安装解压即可,一定要放在英文目录下。否则后面会出现问题。我亲自试过。
3.这是解压后的目录。
4.配置Maven的环境变量。
在环境变量中,新建变量名MAVEN_HOME,值为Maven的安装路径,然后在Path中引用MAVEN_HOME。
5.检查一下是否安装成功。
配置本地仓库
在Maven的安装目录下找到conf目录下的settings.xml配置文件,打开此文件。将第53行代码复制下来再写一遍。
通常我们会在maven仓库中找自己想要的jar包,然后在pom.xml中引用,并下载到maven本地仓库中。
apache-maven-3.5.3是我maven下载到本地的地址。my_maven_local_repository是我本地的maven仓库。
Maven常用命令介绍
mvn –version | 显示版本信息 |
---|---|
mvn clean | 清理项目生产的临时文件,一般是模块下的target目录 |
mvn compile | 编译源代码,一般编译模块下的src/main/java目录 |
mvn package | 项目打包工具,会在模块下的target目录生成jar或war等文件 |
mvn test | 测试命令,或执行src/test/java/下junit的测试用例. |
mvn install | 将打包的jar/war文件复制到你的本地仓库中,供其他模块使用 |
mvn deploy | 将打包的文件发布到远程参考,提供其他人员进行下载依赖 |
mvn site | 生成项目相关信息的网站 |
mvn eclipse:eclipse | 将项目转化为Eclipse项目 |
mvn dependency:tree | 打印出项目的整个依赖树 |
mvn archetype:generate | 创建Maven的普通java项目 |
mvn tomcat:run | 在tomcat容器中运行web应用 需要插件支持 |
mvn jetty:run | 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用 |
注意:运行maven命令的时候,首先需要定位到maven项目的目录,也就是项目的pom.xml文件所在的目录。否则,必以通过参数来指定项目的目录。
进入到Maven工程的路径,然后按住shift键,右键鼠标弹出窗口选择,在此处打开Powershell窗口。以上就是我们在控制台输入命令来构建Maven项目,那后面我们都是会在软件中采用图像界面化的方式来运行Maven命令。
Maven的三套生命周期
maven对项目构建过程分为三套相互独立的生命周期,这里的三套生命周期分别是相互独立的。分别是:
Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
Site Lifecycle 生成项目报告,站点,发布站点。
Maven项目的工程目录约定(重要)
使用maven创建的工程我们称之为maven工程,maven工程有一定的目录规范。如下:
src/main/java —— 存放项目的.java文件
src/main/resources —— 存放项目资源文件,如spring, hibernate配置文件
src/test/java —— 存放所有单元测试.java文件,如JUnit测试类
src/test/resources —— 测试资源文件
target —— 项目输出位置,编译后的class文件会输出到此目录
pom.xml——maven项目核心配置文件
Project
|-src
| |-main
| | |-java —— 存放项目的.java文件
| | |-resources —— 存放项目资源文件,如spring, hibernate配置文件
|-webapp —— webapp目录是web工程的主目录
|-WEB-INF
|-web.xml
| |-test
| |-java ——存放所有测试.java文件,如JUnit测试类
| |-resources —— 测试资源文件
|-target —— 目标文件输出位置例如.class、.jar、.war文件
|-pom.xml ——maven项目核心配置文件
我们可以手动创建Maven的目录结构,当然我们一般是通过软件创建的,不管是软件创建还是手动创建,都必须遵循Maven的目录结构。
pom.xml文件
一个maven工程都有一个pom.xml文件,通过pom.xml文件定义目标的坐标,项目依赖,项目信息,插件目标等
- 依赖管理系统(Dependency Management System)
通过maven的依赖管理对项目所依赖的jar 包进行统一管理。
比如:项目依赖junit4.9,通过在pom.xml中定义junit4.9的依赖即使用junit4.9,如下所示是junit4.9的依赖定义:<!-- 依赖关系 --> <dependencies> <!-- 此项目运行使用junit,所以此项目依赖junit --> <dependency> <!-- junit的项目名称 --> <groupId>junit</groupId> <!-- junit的模块名称 --> <artifactId>junit</artifactId> <!-- junit版本 --> <version>4.9</version> <!-- 依赖范围:单元测试时使用junit --> <scope>test</scope> </dependency> </dependencies>
- 一个项目生命周期(Project Lifecycle)
使用maven完成项目的构建,项目构建包括:清理、编译、测试、部署等过程,maven将这些过程规范为一个生命周期,如下所示是生命周期的各各阶段:
maven通过执行一些简单命令即可实现上边生命周期的各各过程,比如执行mvn compile执行编译、执行mvn clean执行清理。 - 一组标准集合
maven将整个项目管理过程定义一组标准,比如:通过maven构建工程有标准的目录结构,有标准的生命周期阶段、依赖管理有标准的坐标定义等。 - 插件(plugin)目标(goal)
maven 管理项目生命周期过程都是基于插件完成的。
使用IDEA来开发Maven项目
1.首先在IDEA中配置Maven项目:
第一个是maven的安装路径。
第二个是maven安装路径下的settings.xml文件
第三个是maven的本地仓库。
将这个自动勾选上,可以自动为我们下载所要的jar包到本地仓库。
2.使用IDEA创建一个Maven项目
File-New-Project 弹出如下窗口 –选择Maven项目
next:第一个填公司组织id,第二个写项目id
选择你的Maven和本地仓库路径
项目名称:
IDEA开始创建Maven项目,你如果第一次创建,要联网,要下载一些插件,你耐心等待
创建结束后,我们要检查项目的目录结构是否正确,有些目录是没有的,需要我们自己来创建。
层次结构要正确,不能乱起名字,而且要检查创建的文件前面的标志,是否正确,如果创建玩不正确,可以点击屏幕右边的有一个maven,弹出一个界面,点击左上方进行刷新即可。
到此,maven项目创建配置就结束了。
在pom.xml中引用jar包一定要联网,可以直接下载,如果不能联网,就从本地仓库中引用我们所需要的jar包。
这里我们介绍一个maven仓库:http://mvnrepository.com/在这里我们可以找到我们需要的所有jar包。
发布项目的两种方式:
(1)我们可以使用tomcat插件来发布:
<build>
<finalName>IIMavenDemo</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<!--插件-->
<plugins>
<!--tomcat7插件-->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<!--端口控制-->
<port>9090</port>
<!--项目的上下文路径-->
<path>/abc</path>
<!--编码-->
<uriEncoding>UTF-8</uriEncoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
(2)使用传统方式来发布: