林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka

摘要:本文主要讲了Maven的安装过程,以及一些基础的概念。并用两个例子讲解了Maven在java项目中的使用。

一、Maven安装过程

必备:下载maven之后,安装环境变量,跟安装java环境变量一样,所以也就不再赘述了。安装好之后运行一条命令,mvn help:system,运行之后会下载一些需要的库文件,一般是放在user/.m2/repository目录下,也就是默认的本地仓库的位置。

安装过程如下:

1.在安装maven之前,先确保已经安装JDK1.6及以上版本,并且配置好环境变量。
2.下载maven3,下载地址:http://maven.apache.org/download.html
下载apache-maven-3.1.1-bin.zip文件后,并解压到 E:\JavaTool\apache-maven-3.3.1
3.配置maven3的环境变量:先配置M2_HOME的环境变量,新建一个系统变量:M2_HOME , 路径是:E:\JavaTool\apache-maven-3.3.1,如图所示:

4、再配置path环境变量,在path值的末尾添加"%M2_HOME%\bin",如下图所示;

5.点击确定之后,打开cmd窗口:输入 mvn -version,出现如下内容表示安装成功,注意3.1.1是对应于jdk1.7以上的版本,所以自己要看好自己电脑jdk的版本

6、配置成功后开始在Eclipse中配置Maven,点击eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven到插件Maven Integration for Eclipse 并点击安装即可,如下图:(可以直接下载J2EE的eclipse编译器。它都帮你集成好了)

7、重启后,为了使得Eclipse中安装的Maven插件,同windows中安装的那个相同,需要让eclipse中的maven重新定位一下,点击Window -> Preference -> Maven -> Installation -> Add进行设置

8、给maven添加本地仓库

maven默认的仓库,是放在C:\Users\lin\.m2\repository,lin可以看成是你的用户名,如果不想放在这里,可以这么改

  • 打开本地存放maven目录(或者maven安装目录,我的安装目录是:E:\JavaTool\apache-maven-3.3.1\conf,这里没多大影响,我只是不同的项目有不同的仓库):比如我的本地存放目录是:E:\JavaTool\apache-maven-3.3.1\conf
  • 打开conf文件夹下的settings.xml文件,找到第53行,把注释去掉,修改成:<localRepository>D:/Util/maven/maven-dependcies</localRepository>当然了,前提是在某个路径下,手动建立了一个名为 maven-dependcies的文件夹,然后把本地仓库指向该路径。

二、初步了解maven

Maven是一个采用纯Java编写的开 源项目管理工具。Maven采用了一种被称之为project object model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个声明周期,包括编 译,构建,测试,发布,报告等等。目前Apache下绝大多数项目都已经采用Maven进行管理。而Maven本身还支持多种插件,可以方便更灵活的控制 项目

1.了解maven的目录结构,在maven的构建过程中,构建的程序必须有特定的目录结构,基本的目录如下所示:

2.对于这个目录的建立,熟练的建立这个目录是必备的,但是这样无助于开发的进度,所以maven自带了一个archetype工具帮助我们自动生成项目的骨架。在cmd中切换到工程的目录,执行命令mvn archetype:generate,就是自动生成需要的目录,在生成的过程中会需要输入一些字段,在下面说明的pom.xml的时候再讲。

3.pom.xml<Project Object Model,项目对象模型>文件,这个文件可以理解为整个项目的控制文件,对于这个文件有一下几个属性需要说明。
<modelVersion> :默认是4.0.0,指定了当前POM模型的版本。
<groupId>:定义了项目属于哪一个组,这个组通常与项目所在的组织或者公司关联,如com.microsoft.myapp, com.google.myapp等等。
<artifactId>:定义了当前maven项目在组中的唯一ID,可以定义为项目的名称如:HelloWorld
<version>:指定当前的版本,如1.0-SNAPSHOT,snapshot是快照的意思,说明该项目还在开发中,是不稳定的版本。
而一般通过archetype工具生成的包名就是groupId+artifactId。

三、新建一个简单的maven项目:maven-hellolworld

1、新建一个Maven项目

2、这里选了quickstart,

3、输入工程名,引用包名

4、自动生成的如下,我们不需要这

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>com.lin.learning</groupId><artifactId>maven-hellowrold</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>maven-hellowrold</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>

5、修改内容

将App.java改成如下

package com.lin.learning.maven_hellowrold;/*** Hello world!**/
public class App
{public void sayHello(){System.out.println( "Hello World!林炳文Evankaka" );}
}

再把AppTest.java内容改成如下

package com.lin.learning.maven_hellowrold;import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;/*** Unit test for simple App.*/
public class AppTest extends TestCase
{/*** Create the test case** @param testName name of the test case*/public AppTest( String testName ){super( testName );}/*** @return the suite of tests being tested*/public static Test suite(){return new TestSuite( AppTest.class );}/*** Rigourous Test :-)*/public void testApp(){App app = new App();app.sayHello();}
}

6、测试运行

选 中testApp().然后以Junit的调试方式运行

运行结果:绿色表明案例通过,运行成功

7、打包输出

现在好了,可以把这个文件 打包成jar提供给其它项目使用了,项目右键-》属性

输入以下内容,开始生成 jar

最终输出结果:

表明已构建成功,去仓库看看打包成jar没

jar已打包,其它java项目都可以使用,不管是不是maven项目

四、使用maven项目

这里我要再来新建 一个maven-test项目,并且来添加上一个maven-helloworld的包,从而每次maven-helloworld更新jar包时,maven-test都不用手动去替换jar包,直接update project即可。

同样的过程,还是新建一个maven-test的项目

把app.java改成AppHello,避免和上一个重名

同时将AppHello.java内容改成如下

package com.lin.learning.maven_test;import com.lin.learning.maven_hellowrold.App;/*** Hello world!**/
public class AppHello
{public static void main( String[] args ){App app = new App();app.sayHello();}
}

pom.xml文件 添加maven-helloworld的jar包依赖

<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>com.lin.learning</groupId><artifactId>maven-test</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>maven-test</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><dependency><groupId>com.lin.learning</groupId><artifactId>maven-hellowrold</artifactId><version>0.0.1-SNAPSHOT</version></dependency>    </dependencies>
</project>

接着,更新下整个maven 工程

选中强制更新

更新好了,直接选中AppHello的main,然后右键运行,输出了结果

如果,这时maven-helloworld更改了内容,比如它的App.java更改成如下。添加一个方法

package com.lin.learning.maven_hellowrold;/*** Hello world!**/
public class App
{public void sayHello(){System.out.println( "Hello World!林炳文Evankaka" );}public void sayAll(){System.out.println( "我是林炳文Evankaka、林炳文Evankaka、林炳文Evankaka、林炳文Evankaka、林炳文Evankaka " );}
}

这里,maven-test也要用到这个sayall方法。

同理,直接maven->update project就会自动引入新的jar包

然后调用方法如下:

package com.lin.learning.maven_test;import com.lin.learning.maven_hellowrold.App;/*** Hello world!**/
public class AppHello
{public static void main( String[] args ){App app = new App();app.sayHello();app.sayAll();}
}

输出结果

Maven安装与Maven HelloWorld入门实例相关推荐

  1. 用python写helloworld_Python基于Tkinter的HelloWorld入门实例

    Python基于Tkinter的HelloWorld入门实例 本文实例讲述了Python基于Tkinter的HelloWorld入门实例.分享给大家供大家参考.具体分析如下: 初学Python,打算做 ...

  2. pythonhelloworld实例_Python基于Tkinter的HelloWorld入门实例

    本文实例讲述了Python基于Tkinter的HelloWorld入门实例.分享给大家供大家参考.具体分析如下: 初学Python,打算做几个Tkinter的应用来提高. 刚学的HelloWorld, ...

  3. 在CentOS上安装和配置OpenNebula入门实例

    导读 我们提到的云计算一般有三种类型:软件即服务(Software as a service, SaaS),平台即服务(Platform as a Service, PaaS)和基础架构即服务(Inf ...

  4. ubuntu下面安装Keil uvision4与入门实例

    环境如下: 组件 版本 Ubuntu 20.04 wine 5.0  wine mdk474.exe wine KEIL_Lic.exe 打开注册机选择ARM以后点击Generate File-> ...

  5. Maven安装和配置详细步骤

    作者有话说:什么是maven呢?为啥要学maven?这两个问题会在下面的文章里找到答案,带着问题阅读本文,你会受益良多. 目录 为啥要学习maven? maven简介 maven安装搭建 Maven ...

  6. 【Maven】Maven安装入门教程笔记

    Maven入门(含实例教程)_小宝鸽的博客-CSDN博客_maven ​​​​​​史上最详细的Maven安装教程_chenxiky的博客-CSDN博客_maven安装教程 Maven的简单介绍: Ma ...

  7. spark1.6 maven java_Spark+ECLIPSE+JAVA+MAVEN windows开发环境搭建及入门实例【附详细代码】...

    前言 本文旨在记录初学Spark时,根据官网快速入门中的一段Java代码,在Maven上建立应用程序并实现执行. 首先推荐一个很好的入门文档库,就是CSDN的Spark知识库,里面有很多spark的从 ...

  8. Hibernate基于Maven入门实例,与MyBatis比对

    此篇承接上一篇: MyBatis基于Maven入门实例 准备部分 1. 进入http://mvnrepository.com/ , 搜索 Hibernate ORM, 找到相应的版本后, 可以看到配置 ...

  9. IDEA 中使用 maven 开发 SpringMVC 入门实例

    前言 断断续续的接触了两周的 Spring MVC 框架,不知从何处下手.在查阅了各种书籍文献,改了无数个bug之后,总算是写出了一个 Hello World . 下面作为实例展示的是一个简单的 Sp ...

  10. 基于Centos搭建Maven 安装与使用

    CentOS 7.2 64 位操作系统 安装 Maven Maven 简介 Apache Maven 是一个软件项目管理及自动构建工具,由 Apache 软件基金会所提供.基于项目对象模型(缩写:PO ...

最新文章

  1. 2021年大数据Flink(四十五):​​​​​​扩展阅读 双流Join
  2. Android App自适应draw9patch不失真背景
  3. SwiftUI优秀文章经典案例制作简易的新闻列表Demo
  4. linux命令 su和sudo,Linux中sudo和su的区别
  5. 怎么知道Win10的电脑是否满足Win11的硬件要求
  6. 实现多个下拉框同一批option,选中其一其他框里去除选中的项(不可选择已选过的项)--js
  7. Jquery快速构建可拖曳的购物车-DragDrop
  8. C#自动识别文件编码
  9. Unity学习笔记(一)—— 基础知识
  10. plsqldev解决中文乱码问题
  11. Maven中的dependencyManagement 详解
  12. jclasslib插件
  13. seafile专业版集成微软的office online实现在线协同编辑
  14. php获取qq空间,使用php进行批量抓取QQ空间相册链接
  15. word脚注的编辑设置
  16. 解构沉浸式:AI+AR+Design 线下分享会【NSR主办的纽约场】
  17. UI设计学习:Logo
  18. html屏幕遮挡,遮挡屏幕怎么设置 为什么手机上会出现请勿遮挡屏幕顶端
  19. unity 2d贴图
  20. 超长浮点数据到科学计数法的转换

热门文章

  1. ios中自定义相机_在iOS中制作自定义相机
  2. git 将多条提交合并为一条
  3. 关于学习scala中lazy关键字的记录
  4. 机器学习和深度学习资源汇总(陆续更新)
  5. ip自签名ssl证书
  6. 修改计算机名无法共享打印机,打印机设置共享以及共享时无法连接,报错0X00000006解决方法...
  7. 问题记录1:网络和共享中心打不开的解决办法
  8. Pr:视频防抖效果控件
  9. 二极管工作原理讲解(转载)
  10. 重温张柏芝08年博客_开发人员和运营人员将在2017年继续重温其在企业中的角色...