前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >项目管理工具Maven1

项目管理工具Maven1

作者头像
Java学习
发布2018-07-25 09:55:43
1K0
发布2018-07-25 09:55:43
举报
文章被收录于专栏:java学习java学习
Maven学习笔记1

本章目录描述:

一、Maven简介

1、什么是Maven

2、Maven仓库

二、Maven环境搭建

1、Maven下载

2、本地仓库配置

3、eclipse配置Maven

4、重建本地仓库索引

三、Maven入门

1、创建工程

2、设置编译版本

3、添加依赖

4、项目生命周期(了解)

5、常见命令

Maven简介

(一)什么是Maven

Maven是apache下的开源项目,项目管理工具,管理java项目。

1、项目对象模型(Project Object Model)

POM对象模型,每个maven工程中都有一个pom.xml文件,定义工程所依赖的jar包、本工程的坐标、打包运行方式。。

2、依赖管理系统(基础核心 )

maven通过坐标对项目工程所依赖的jar包统一规范管理。

3、maven定义一套项目生命周期

清理、初始化、编译、测试、报告、打包、部署、站点生成

4、一组标准集合

强调:maven工程有自己标准的工程目录结构、定义坐标有标准。

5、maven 管理项目生命周期过程都是基于插件完成的

(二)Maven仓库

1、中央仓库

就是远程仓库,仓库中jar由专业团队(maven团队)统一维护。

中央仓库的地址:http://repo1.maven.org/maven2/

2、本地仓库

相当于缓存,工程第一次会从远程仓库(互联网)去下载jar 包,将jar包存在本地仓库(在程序员的电脑上)。第二次不需要从远程仓库去下载。先从本地仓库找,如果找不到才会去远程仓库找。

3、私服

在公司内部架设一台私服,其它公司架设一台仓库,对外公开。

二、Maven环境搭建

(一)Maven下载

可以到maven的官网下载

http://maven.apache.org/download.cgi

我们将下载的压缩包解压到D盘根目录,D盘根目录会有下面的文件夹

(二)本地仓库配置

1. 拷贝本地仓库

将资料中的repository_ssh.zip解压到D盘

2. 配置本地仓库

打开maven的安装目录中conf/ settings.xml文件,在这里配置本地仓库:

<localRepository>D:\repository_ssh</localRepository>

这里的意思是配置本地仓库的目录为D:\repository_ssh

(三)eclipse配置Maven

1. 配置Maven的安装目录

进入eclipse ,选择菜单windows - Preferences , 在左侧的树状导航中

点击add按钮,弹出窗口后选择maven的安装目录

然后点击Apply

2. 配置UserSettings

选择左侧树形导航的User Settings ,选择Maven目录下conf下的settingsxml

然后点击Update Settings 、Reindex 和Apply按钮.

(四)重建本地仓库索引

选择菜单 window --> show View

选择 Rebuild Index 重新创建索引

三、Maven入门

(一)创建工程

1. 选择菜单 File ->new -> Other

选择Maven下的Maven Project, Next

2. 选中下图红框部分的复选框(跳过骨架),next

3. 定义工程坐标

maven对所有工程管理基于坐标进行管理。

坐标包括:

Group Id:项目的名称,项目名称以域名的倒序,比如:cn.javaxxf.mavendemo

Artifact Id:模块名称(子项目名称)

Version:模块的版本,snapshot(快照版,没有正式发行)、release(正式发行版本)

输入后,Finish 。完成后如下图

工程目录结构说明:

project

/src/main/java 主体程序 java源文件(不要放配置文件)

/src/main/resources 主体程序所需要的配置文件(不要放java文件)

/src/test/java 单元测试程序 java源文件

/src/test/resources 单元测试程序所用的配置文件

/target 编译输出目录

pom.xml Maven进行工作的主要配置文件。

4. 编写代码

(1)在src/main/java 目录下创建包cn.javaxxf.mavendemo

(2)在包cn.itcast.mavendemo下创建HelloWorld 类

代码语言:javascript
复制
package cn.javaxxf.mavendemo;
public class  HelloWorld {
   public static void main(String[] args) {
      System.out.println("HelloWorld!!");
   }
}

(二)设置编译版本

我们现在的Maven工程默认是JDK1.5 ,我们需要将编译版本改为JDK1.7

代码语言:javascript
复制
<build> 
      <plugins>
          <plugin> 
              <groupId>org.apache.maven.plugins</groupId> 
              <artifactId>maven-compiler-plugin</artifactId> 
              <version>2.3.2</version> 
              <configuration> 
                  <source>1.7</source> 
                  <target>1.7</target> 
              </configuration> 
          </plugin> 
      </plugins> 
   </build>

将上边的配置信息粘贴到pom.xml中。

点击工程右键 Maven -> Update Project ...

弹出窗口后OK .操作后 ,编译版本改为 1.7

(三)添加依赖

右键点击工程 Maven -- > Add Dependency

添加后打开pom.xml,发现多了以下信息

代码语言:javascript
复制
<dependencies>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.0.7.Final</version>
    </dependency>
  </dependencies>

我们再看工程目录下的Maven Dependecies 下又多了很多jar包

奇怪了!我只是加了一个hibernate的核心包,为什么会多出这么多jar包呢?

这是因为hibernate的核心包本身又会依赖其它的jar包,所以导入hibernate包自动会添加hibernate所依赖的包。

(四)项目生命周期(了解)

Maven有三套相互独立的生命周期,分别是:clean、default、site。clean主要是清理项目、default是Maven最核心的的构建项目、site是生成项目站点。每一个大的生命周期又分为很多个阶段。后面的阶段依赖于前面的阶段,这点有点像Ant的构建依赖。生命周期本身相互独立,用户可以仅仅调用生命周期的某一个阶段,也就是说用户调用了default周期的任何阶段,并不会触发clean周期以及site周期的任何事情。三大生命周期蕴含着小小的阶段,我们按顺序看一下:

(1)clean周期:

pre-clean:准备清理

clean:真正的清理工作

post-clean:执行清理后的一些后续工作

(2)default周期:

validate:验证

initialize:初始化配置

generate-sources:生成源代码编译目录

process-sources:处理项目主资源文件,复制资源文件到outputclasspath

generate-resources:生成资源目录

process-resources:处理资源文件

complie:编译源代码

process-classes:处理编译后文件

generate-test-sources:生成测试目录

process-test-sources:处理项目测试资源文件,复制测试资源文件到outputclasspath

generate-test-resources:生成测试资源文件

process-test-resources:处理测试资源文件

test-compile:编译测试代码

process-test-classes:处理测试代码

test:单元测试运行测试代码

prepare-package:打包前的准备

package:将编译好的代码打包成为jar或者war或者ear等等

pre-integration-test:准备整体测试

integration-test:整体测试

post-integration-test:为整体测试收尾

verify:验证

install:安装到本地Maven库

deploy:将最终包部署到远程Maven仓库

(3)site周期:

pre-site:准备生成站点

site:生成站点及文档

post-site:站点收尾

site-deploy:将生成的站点发布到服务器上

(五)常见命令

maven通过命令对工程进行清理、编译、测试、打包、部署。

点击工程右键 ,Run As (或Debug As ) -- > Maven Build ...

常用命令如下:

compile:编译

clean:清理,将target下的class文件清理

test:执行单元测试类,执行src/test/java下的类

package :将java工程打成jar、war。

install:安装命令,将将程的jar发布到本地仓库

发布到仓库,目录按照本工程定义的坐标生成目录

扩展:

其实我们所执行的这些命令是对maven原生命令的封装,我们可以在命令提示符下直接通过这些命令来对代码进行编译打包等操作,格式如下:

mvn 命令名称 运行不调试

mvnDebug 命令名称 调试运行

我们要在命令提示符下执行maven命令必须配置下面两个环境变量

MAVEN_HOME D:\apache-maven-3.3.9

PATH %MAVEN_HOME%\bin

测试Maven环境 ,在控制台输入mvn -v ,有下列信息输出表示Maven配置正常。

后续。。。。。

用maven搭建SSH工程。。。。。

记得分享给身边有需要的人

小编微信:xxf960326

推荐阅读目录

Java学习求职路线(资料、视频、源码、项目实战)

程序员用这5种方式学习编程最无效,停止这些可以少走弯路!

大学毕业刚培训完Java,没有经验怎么找工作呢?

⊙请问你知道什么是栈吗?

⊙看看你对队列的了解有多少?

⊙面试题68(加深你对栈的理解_让你知道什么是栈)

⊙来测试一下你对数据结构中的栈和队列的了解有多少?

⊙面试题63(链表,哈希表)

⊙ 请你对Java中树的了解有多少?

这个培训机构怎么?

JavaEE就业学习路线(给初学者以及自学者一个学习方向)?

Servlet实现一个简单的登录【验证码】功能

二维码生成源码

java学习微信讨论群

Spring学习笔记

Mybatis学习笔记

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Maven简介
    • 2、Maven仓库
    • 二、Maven环境搭建
      • 1、Maven下载
        • 2、本地仓库配置
          • 3、eclipse配置Maven
            • 4、重建本地仓库索引
            • 三、Maven入门
              • 1、创建工程
                • 2、设置编译版本
                  • 3、添加依赖
                    • 4、项目生命周期(了解)
                      • 5、常见命令
                        • (二)设置编译版本
                        相关产品与服务
                        验证码
                        腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档