Maven入门

Posted zhaoxuan734

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven入门相关的知识,希望对你有一定的参考价值。

 

三、Maven入门

(一)创建工程

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

技术分享图片

选择Maven下的Maven Project,   Next

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

技术分享图片

 

3. 定义工程坐标

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

技术分享图片

坐标包括:

Group Id:项目的名称,项目名称以域名的倒序,比如:cn.itcast.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.mavendemo

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

package cn.mavendemo;

 

publicclass HelloWorld {

 

   publicstaticvoid main(String[] args) {

      System.out.println("HelloWorld!!");

   }

}

(二)设置编译版本

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

<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,发现多了以下信息

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

 

技术分享图片

1clean周期:

pre-clean:准备清理

clean:真正的清理工作

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

2default周期:

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仓库

3site周期:

pre-site:准备生成站点

site:生成站点及文档

post-site:站点收尾

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

(五)常见命令

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

点击工程右键 Run As (或Debug As -- >  MavenBuild ... 

技术分享图片

常用命令如下:

compile:编译

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

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

package :将java工程打成jarwar

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

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

扩展:

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

mvn 命令名称        运行不调试

mvnDebug 命令名称   调试运行

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

MAVEN_HOME    D:\\apache-maven-3.3.9

PATH             %MAVEN_HOME%\\bin

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

技术分享图片

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">









以上是关于Maven入门的主要内容,如果未能解决你的问题,请参考以下文章

转载maven入门1

maven入门(上)

Maven入门

Maven实战——Maven入门

Apache Maven 入门篇 ( 上 )

Maven入门教程