【教程】【超详细 (二)Maven命令】 Maven 从入门到项目应用

Maven 教程

0.课程大纲

【教程】【超详细 (二)Maven命令】 Maven 从入门到项目应用_第1张图片

    这篇文章和大家分享Maven的命令。

1. 创建简单Maven工程

    在学习Maven前让我们首先创建一个简单的maven工程, 之后的命令篇幅就基于该工程进行操作、演示。

    在我们开始创建Maven工程前,不妨先思考一下我们有一个仓库集中管理我们的 jar 包, 当我们需要某一个 jar 包时就去仓库找,那么问题来了, 我们通过那些信息才能准确定位到一个 jar 包呢?或者说, 一个 jar 包它的 “坐标” 如何确定呢?

第一,这个 jar 包那个公司或社区开发的;因为肯能出现两个公司开发两个同名 jar 包的情况,所以需要确定那个公司开发的精确定位。

第二,这个 jar 包叫啥,或者说这个 jar 的项目名。名字, 必须有的,不然谁知道你找刘能呢还是赵四呢?哈哈...

第三,这个 jar 包的版本号,其实也很好理解, 这个 jar 包可能会不断迭代、优化、更新出很多版本, 所以你要明确告诉仓库我找那个版本。

这么看来,似乎我们就知道了, 一个 jar 包的“坐标” = 那个公司开发的 + 那个 jar + 版本号。

好了,现在让我们开始创建一个Maven项目吧。

1)New--->Maven Project

【教程】【超详细 (二)Maven命令】 Maven 从入门到项目应用_第2张图片


2)指定项目的坐标

【教程】【超详细 (二)Maven命令】 Maven 从入门到项目应用_第3张图片

我们需要的jar 包可以从中央仓库下载,当然我们的项目也可以打包之后共享给其他人在项目中通过maven添加依赖使用, 因此我们的项目也需要指定一个“坐标” 以供其他人找到我们的jar包。所以正如您看到的上图所示,Group ID就代表了开发这个jar包的公司或社区,一般为公司域名的倒序;Artifact ID就指定了项目名称;Version指定版本号。

Packaging指定打包方式(jar/war/pom):

一般为 JavaSE 项目打包为 jar, Java EE项目打包为 war, 而父工程打包为pom(后面会介绍)。

然后 Finish 我们就创建了我们第一个Maven工程hello-maven,目录结构如下:

【教程】【超详细 (二)Maven命令】 Maven 从入门到项目应用_第4张图片


3)修改 JRE 版本

我们可以看到Maven项目的默认JRE为1.5, 版本比较老旧, 我们现在一般都使用到1.7或1.8以上了, 所以在写代码之前我们首先将修改项目的JRE版本, 不然我们连强大的Stream/Lambda都用不了。打开项目根目录下/pom.xml, 添加插件如下:


  4.0.0
  com.dreamli
  hello-maven
  0.0.1-SNAPSHOT
  
  
  	1.8
  	utf-8
  
  
  
  	
  		
  			org.apache.maven.plugins
  			maven-compiler-plugin
  			3.1
  			
  				${jdk.version}
  				${jdk.version}
  				${file.encoding}
  			
  		
  	
  

添加完后我们写一个1.8的Stream发现项目还在报错,查看Problems输出,如下:

【教程】【超详细 (二)Maven命令】 Maven 从入门到项目应用_第5张图片

我们发现, 第一个错误是Stream需要jdk1.8,看来我们的配置还没有生效;第二个错误提示我们选择Maven-->Update Project,因此我们就在项目目录上右键----> Maven ---> Update Project...

【教程】【超详细 (二)Maven命令】 Maven 从入门到项目应用_第6张图片

    更新之后发现我们的错误都没有了,而且我们的JRE也切换到了1.8。在这里需要说一嘴, Maven 项目非常容易见到项目报错,因此, Update Project我们以后可能会经常执行的。

2.Maven命令

现在我们已经有一个Maven工程了, 我们就开始基于该工程学习一下Maven的常用命令。

1) clean:清理
用于清理项目 ——> 删除编译输出目录 target
【教程】【超详细 (二)Maven命令】 Maven 从入门到项目应用_第7张图片
2.)compile:编译
用于编译项目 ——> 将 .java 文件编译输出到 项目根目录/target/

3)  test:测试
用于运行测试文件 ---> 测试文件的类名必须命名为 xxxTest.java

4) package:打包
用于打包项目, 项目打包后输出文件位于target目录下。
            Java SE —> jar 包
            Java Web —> war 包
【教程】【超详细 (二)Maven命令】 Maven 从入门到项目应用_第8张图片

5) Install: 发布
用于将当前项目打包发布到 Maven 本地仓库

6) mvn tomcat:run 运行项目到tomcat   --- 该命令用在Maven-web 项目,  我们下一篇Maven整合JavaWeb再说。
 

7)三套命令生命周期:
生命周期: 执行后一个命令时会自动执行前面的命令。如上 mvn package命令截图所示。
1>  cleanLifeCycle:
            clean ——> 清理项目(删除target 目录)
2>  defaultLifeCycle:
            compile —> 编译项目
            test  ——> 运行测试文件
            package ——> 将项目打包 ——> 输出文件在project/target/ 下
            install  ----> 将项目发布到本地仓库
            deploy ——> 将项目发布到私服
3>   siteLifeCycle
            site ——> 用于生成文档 

8)在Eclipse中执行命令

如: 在Eclipse里面编译项目:

【教程】【超详细 (二)Maven命令】 Maven 从入门到项目应用_第9张图片


到此, Maven的创用命令就和大家分享的差不多了, 还有一少部分在后面我们开发Maven的Web项目时用到再提。还是希望能够帮助到Maven初学者,不足之处也请大家批评指正。感兴趣的朋友可以关注一下我的博客, 下一篇和大家分享Maven冲突及其解决方法。

上一篇: Maven 环境搭建


你可能感兴趣的:(Maven)