查看: 1410|回复: 0

[Java学习] 深入理解Maven环境搭建和介绍

发表于 2018-1-5 08:00:00

Maven是一个项目管理的Java 工具,在JavaEE中,我们可以使用Maven方便地管理团队合作的项目,现在我们在学习JavaEE框架,使用Maven可以管理类库,有效方便地供团队中的其他人员使用。

最近项目弄完了,有好多时间,准备把以前的知识复习一遍,以便日后更好的使用,先从maven搭建开始,然后再搭建以下SSH+mybatis的框架,弄完了在学学Hadoop分布式相关的东西。

安装前先配置好电脑的相关环境变量。

一、配置maven的环境

下载地址:http://maven.apache.org/download.cgi(window下载(Binary zip)的)

将maven解压,然后配置环境变量打开: 计算机------系统属性------高级系统设置------环境变量

系统变量新建 M2_HOME

变量值E:\apache-maven-3.2.5(maven解压位置)

path中添加

;%M2_HOME%\bin ----在path的后面先添加;号

启动cmd,输入mvm -v可以查看版本

二、修改本地仓库位置

maven默认的本地仓库位置,是在当前用户目录下/.m2/repository中,我们可以配置到别的盘。

这儿配置到了E:/m2/repository下。

然后打开cmd,运行一条简单的maven命令:mvn help:system 下载相关的maven信息。

三、配置Eclipse的maven插件

1、 打开Eclipse,选择help----Install New Software------add

name : m2e

location : http://m2eclipse.sonatype.org/sites/m2e

下载好之后解压:将里面的features和plugins文件夹下内容复制到Eclipse对应的features和plugins中,重启即可。

2、配置用户范围setting.xml

%M2_HOME%/conf/setting.xml是全局的设置,这个电脑上所有的用户都会受影响,所以将%M2_HOME%/conf/setting.xml复制一份,到上面配置仓库位置中如我的F:/m2文件夹下。

3、设置MAVEN_OPTS环境变量

当项目过大时,容易出现OutOfMemoryError异常,所以我们需要修改运行内容,有以下两种方法:

1)在maven的bin/mvn.bat中加入set MAVEN_OPTS= -Xms125m -Xmx512m

2)在环境变量中添加 MAVEN_OPTS 变量值为-Xms125m -Xmx512m

4、配置Eclipse

在Window——Preferences——Maven

installations勾掉默认的maven,add安装的maven目录

user Settings中选择本地仓库配置的setting.xml,如我的E:\m2\settings.xml

点击应用。

四、创建Maven项目

在Eclipse中选择新建Maven project,选择工作环境

1、选择要创建的filter如下:

2、填写maven项目坐标信息

我们可以看到已经生成maven结构的项目了。

五、Maven简单的介绍

下面是生成的maven的pom.xml文件,我们可以看一下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>org.andy</groupId>
  5. <artifactId>redis_demo</artifactId>
  6. <version>0.0.1-SNAPSHOT</version>
  7. <packaging>jar</packaging>
  8. <name>redis_demo</name>
  9. <url>http://maven.apache.org</url>
  10. <properties>
  11. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  12. </properties>
  13. <dependencies>
  14. <dependency>
  15. <groupId>junit</groupId>
  16. <artifactId>junit</artifactId>
  17. <version>3.8.1</version>
  18. <scope>test</scope>
  19. </dependency>
  20. </dependencies>
  21. </project>
复制代码

其标签的具体含义如下:

project:pom.xml文件中的顶层元素;

modelVersion:指明POM使用的对象模型的版本。这个值很少改动。

groupId:指明创建项目的组织或者小组的唯一标识。GroupId是项目的关键标识,典型的,此标识以组织的完全限定名来定义。比如,org.apache.maven.plugins是所有 Maven插件项目指定的groupId。

artifactId:指明此项目产生的主要产品的基本名称。项目的主要产品通常为一个JAR文件。第二,象源代码包通常使用artifactId作为最后名称的一部分。典型的产品名称使用这个格式: - . (比如:myapp-1.0.jar)。

version:项目产品的版本号。Maven帮助你管理版本,可以经常看到SNAPSHOT这个版本,表明项目处于开发阶段。

name:项目的显示名称,通常用于maven产生的文档中。

url:指定项目站点,通常用于maven产生的文档中。

description:描述此项目,通常用于maven产生的文档中。

properties:pom文件中的配置信息,可以配置全局变量

dependencies:依赖配置集,里面可以添加需要的jar的依赖信息

比如我们需要添加jedis的jar,可以从中央仓库搜http://mvnrepository.com/

添加对应的依赖到dependencies标签就可以:

  1. <dependency>
  2. <groupId>redis.clients</groupId>
  3. <artifactId>jedis</artifactId>
  4. <version>2.6.2</version>
  5. </dependency>
复制代码

六、maven的相关命令

mvn archetype:create :创建 Maven 项目

mvn compile :编译源代码(编译到target文件夹中)

mvn test-compile :编译测试代码

mvn test : 运行应用程序中的单元测试

mvn site : 生成项目相关信息的网站

mvn clean :清除目标目录中的生成结果(把默认target文件夹中的数据清理)

mvn package : 项目打包

mvn install :将打包好的包安装到本地仓库中,以使其塔项目能够调用

mvn eclipse:eclipse :生成 Eclipse 项目文件

mvn -Dmaven.test.skip=true : 忽略测试文档编译

cargo:deploy :部署到私有服务器上

当然这些命令可以一起使用比如下

打jar包并且安装到别的应用 clean compile package install (清理,编译,打包,安装jar)

打war包并部署 clean compile package cargo:deploy(清理,编译,打包,安装war)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。



回复

使用道具 举报