深入理解Maven环境搭建和介绍

 更新时间:2017年12月02日 09:57:28   作者:Andyzty  
这篇文章主要介绍了深入理解Maven环境搭建和介绍,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

 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文件,我们可以看一下:

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
 <modelVersion>4.0.0</modelVersion> 
 
 <groupId>org.andy</groupId> 
 <artifactId>redis_demo</artifactId> 
 <version>0.0.1-SNAPSHOT</version> 
 <packaging>jar</packaging> 
 
 <name>redis_demo</name> 
 <url>http://maven.apache.org</url> 
 
 <properties> 
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
 </properties> 
 
 <dependencies> 
    
  <dependency> 
   <groupId>junit</groupId> 
   <artifactId>junit</artifactId> 
   <version>3.8.1</version> 
   <scope>test</scope> 
  </dependency> 
   
   
 </dependencies> 
</project> 

其标签的具体含义如下:

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

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

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

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

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

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

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

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

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

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

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

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

<dependency> 
  <groupId>redis.clients</groupId> 
  <artifactId>jedis</artifactId> 
  <version>2.6.2</version> 
</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)

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

相关文章

  • 关于SpringBoot Actuator漏洞补救方案

    关于SpringBoot Actuator漏洞补救方案

    SpringBoot Actuator模块提供了健康检查,审计,指标收集,HTTP 跟踪等,是帮助我们监控和管理SpringBoot应用的模块,本文将主要介绍SpringBoot Actuator漏洞的补救方案,需要的朋友可以参考下
    2023-06-06
  • java实现文件夹上传功能实例代码(SpringBoot框架)

    java实现文件夹上传功能实例代码(SpringBoot框架)

    在web项目中上传文件夹现在已经成为了一个主流的需求,下面这篇文章主要给大家介绍了关于java实现文件夹上传功能(springBoot框架)的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • 详解JAVA 原型模式

    详解JAVA 原型模式

    这篇文章主要介绍了JAVA 原型模式的的相关资料,文中讲解非常细致,实例帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • 手把手带你粗略了解Java--类和对象

    手把手带你粗略了解Java--类和对象

    这篇文章主要给大家介绍了关于java中类和对象的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08
  • SpringBoot中Mybatis + Druid 数据访问的详细过程

    SpringBoot中Mybatis + Druid 数据访问的详细过程

    Spring Boot 底层都是采用 SpringData 的方式进行统一处理各种数据库,SpringData也是Spring中与SpringBoot、SpringCloud 等齐名的知名项目,下面看下SpringBoot Mybatis Druid数据访问的详细过程,感兴趣的朋友一起看看吧
    2021-11-11
  • SpringBoot下实现session保持方式

    SpringBoot下实现session保持方式

    这篇文章主要介绍了SpringBoot下实现session保持方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java基础之Filter的实例详解

    Java基础之Filter的实例详解

    这篇文章主要介绍了Java基础之Filter的实例详解的相关资料,需要的朋友可以参考下
    2017-07-07
  • 解决Mybatis-plus找不到对应表及默认表名命名规则的问题

    解决Mybatis-plus找不到对应表及默认表名命名规则的问题

    这篇文章主要介绍了解决Mybatis-plus找不到对应表及默认表名命名规则的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Java List移除相应元素的超简洁写法分享

    Java List移除相应元素的超简洁写法分享

    这篇文章主要介绍了Java List移除相应元素的超简洁写法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java如何将若干时间区间进行合并的方法步骤

    Java如何将若干时间区间进行合并的方法步骤

    这篇文章主要介绍了Java如何将若干时间区间进行合并的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论