目录

一、创建Maven项目

1.1、建立Hello项目

1.2、使用Maven编译、清理、测试、打包项目

1.2、组合使用Maven的命令

二、在别的项目中使用通过Maven安装生成的项目的jar包


一、创建Maven项目

1.1、建立Hello项目

  1、首先建立Hello项目,同时建立Maven约定的目录结构和pom.xml文件

    Hello
      | --src
      | -----main
      | ----------java
      | ----------resources
      | -----test
      | ---------java
      | ---------resources
      | --pom.xml

  

  2、编辑项目Hello根目录下的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>me.gacl.maven</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version><name>Hello</name><!--添加依赖的jar包--><dependencies><!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.9</version><scope>test</scope></dependency>        </dependencies>
</project>

  3、在src/main/java/me/gacl/maven目录下新建文件Hello.java

  

  Hello.java的代码如下:

package me.gacl.maven;public class Hello {public String sayHello(String name){return "Hello "+name+"!";}
}

  4、在/src/test/java/me/gacl/maven目录下新建测试文件HelloTest.java  

  

  HelloTest.java的代码如下:

package me.gacl.maven;
//导入junit的包
import org.junit.Test;
import static junit.framework.Assert.*;public class HelloTest {@Testpublic void testHello(){Hello hello = new Hello();String results = hello.sayHello("gacl");assertEquals("Hello gacl!",results);        }
}

1.2、使用Maven编译、清理、测试、打包项目

1、使用Maven编译项目,编译项目的命令是:"mvn compile"

  打开cmd命令行,

  

  进入Hello项目根目录执行"mvn compile"命令编译项目的java类

  

  编译成功之后,可以看到hello项目的根目录下多了一个【target】文件夹,这个文件夹就是编译成功之后Maven帮我们生成的文件夹,如下图所示:

  

  打开【target】文件夹,可以看到里面有一个【classes】文件夹,如下图所示:

  

  【classes】文件夹中存放的就是Maven我们编译好的java类,如下图所示:

  

  这就是使用Maven自动编译项目的过程。

2、使用Maven清理项目,清理项目的命令是:"mvn clean"

  进入Hello项目根目录执行"mvn clean"命令清理项目,清理项目的过程就是把执行"mvn compile"命令编译项目时生成的target文件夹删掉,如下图所示:

  

3、使用Maven测试项目,测试项目的命令是:"mvn test"

  进入Hello项目根目录执行"mvn test"命令测试项目,如下图所示:

  

  测试成功之后,可以看到hello项目的根目录下多了一个【target】文件夹,这个文件夹就是测试成功之后Maven帮我们生成的文件夹,如下图所示:

  

  打开【target】文件夹,可以看到里面有一个【classes】和【test-classes】文件夹,如下图所示:

  

  也就是说,我们执行执行"mvn test"命令测试项目时,Maven先帮我们编译项目,然后再执行测试代码。

4、使用Maven打包项目,打包项目的命令是:"mvn package"

  进入Hello项目根目录执行"mvn package"命令测试项目,如下图所示:

  

  

  打包成功之后,可以看到hello项目的根目录下的【target】文件夹中多了一个Hello-0.0.1-SNAPSHOT.jar,这个Hello-0.0.1-SNAPSHOT.jar就是打包成功之后Maven帮我们生成的jar文件,如下图所示:

  

5、使用Maven部署项目,部署项目的命令是:"mvn install"

  进入Hello项目根目录执行"mvn install"命令测试项目,如下图所示:

  

  

  安装成功之后,首先会在hello项目的根目录下生成【target】文件夹,打开【target】文件夹,可以看到里面会有Hello-0.0.1-SNAPSHOT.jar,这个Hello-0.0.1-SNAPSHOT.jar就是安装成功之后Maven帮我们生成的jar文件,如下图所示:

  

  除此之外,在我们存放Maven下载下来的jar包的仓库也会有一个Hello-0.0.1-SNAPSHOT.jar,所以Maven安装项目的过程,实际上就是把项目进行【清理】→【编译】→【测试】→【打包】,再把打包好的jar放到我们指定的存放jar包的Maven仓库中,如下图所示:

  

  所以使用"mvn install"命令,就把maven构建项目的【清理】→【编译】→【测试】→【打包】的这几个过程都做了,同时将打包好的jar包发布到本地的Maven仓库中,所以maven最常用的命令还是"mvn install",这个命令能够做的事情最多。

1.2、组合使用Maven的命令

  maven的编译,清理,测试,打包,部署命令是可以几个命令同时组合起来使用的,常用的命令组合如下:

  1、先清理再编译:"mvn clean compile",如下所示:

  

  还有的就是"mvn clean test","mvn clean package","mvn clean install",这些组合命令都比较常用。

  以上就是关于Maven构建项目的各个个过程演示。

二、在别的项目中使用通过Maven安装生成的项目的jar包

  在上面,我们使用mvn install命令将hello这个项目打包成了Hello-0.0.1-SNAPSHOT.jar包并且发布到本地的maven仓库E:\repository\me\gacl\maven\Hello\0.0.1-SNAPSHOT中,下面我们来看看如何在别的项目中使用Hello-0.0.1-SNAPSHOT.jar

  1、新建HelloFriend项目,同时建立Maven约定的目录结构和pom.xml文件
    HelloFriend
        | --src
      | -----main
      | ----------java
      | ----------resources
      | -----test
      | ---------java
      | ---------resources
      | --pom.xml

  如下图所示:

  

  2、编辑项目HelloFriend根目录下的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>me.gacl.maven</groupId><artifactId>HelloFriend</artifactId><version>0.0.1-SNAPSHOT</version><name>HelloFriend</name><!--添加依赖的jar包--><dependencies><!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.9</version><scope>test</scope></dependency><!--项目要使用到Hello的jar包,所以在这里添加Hello的jar包的依赖--><dependency><groupId>me.gacl.maven</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version><scope>compile</scope></dependency>    </dependencies>
</project>

  3、在src/main/java/me/gacl/maven目录下新建文件HelloFriend.java,如下图所示:

  

  HelloFriend.java的代码如下:

package me.gacl.maven;import me.gacl.maven.Hello;public class HelloFriend {public String sayHelloToFriend(String name){Hello hello = new Hello();String str = hello.sayHello(name)+" I am "+this.getMyName();System.out.println(str);return str;}public String getMyName(){return "John";}
}

  4、在/src/test/java/me/gacl/maven目录下新建测试文件HelloFriendTest.java,如下图所示:

  

  HelloFriendTest.java的代码如下:

package me.gacl.maven;import static junit.framework.Assert.assertEquals;
import org.junit.Test;
import me.gacl.maven.Hello;public class HelloFriendTest {@Testpublic void tesHelloFriend(){HelloFriend helloFriend = new HelloFriend();String results = helloFriend.sayHelloToFriend("gacl");assertEquals("Hello gacl! I am John",results);}
}

  5、在HelloFriend目录下执行命令"mvn package"测试Hello-0.0.1-SNAPSHOT.jar里面的类是否引用成功,如下所示:

  

java maven 编译 清理 测试 打包项目相关推荐

  1. java maven mvn clean package 打包执行流程

    先把命令行切换到Maven项目的根目录,比如:/d/xxxwork/java/maven-test,然后执行命令: mvn clean package 执行结果如下: [INFO] Scanning ...

  2. 代码保护(二) 通过Java反编译工具测试加密效果

    上节介绍了当下几款代码保护工具,本节介绍反编译工具对加密的软件进行破解. 反编译工具:jd-gui 打包工具:exe4j 脱壳工具:PEID 调试工具:OllyICE 一.未加密状态 测试过程: 1. ...

  3. java maven 项目依赖管理 简介

    目录 一.简单的小问题? 二.maven到底是什么? 三.maven的安装 四.仓库的概念 五.使用命令行管理maven项目 六.使用Myeclipse创建maven自定义项目 七.pom.xml的依 ...

  4. Java—Maven的使用

    最近学习Java,前輩推薦用maven做包管理器,我的理解是maven相当于.net中的Nuget 一.为什么要用maven呢 假如有两个java项目,A项目要用到B项目的类或者方法,如果很少我们可以 ...

  5. 使用Maven创建Web应用程序项目

    在本教程中,我们将演示如何使用 Maven 创建一个 Java Web 项目(Spring MVC). 用到的技术/工具: Maven 3.3.3 Eclipse 4.3 JDK 8 Spring 4 ...

  6. maven常用命令(编译、测试、运行、打包、安装、部署)

    我们可以在cmd中通过一系列的maven命令来对我们的maven-helloworld工程进行编译.测试.运行.打包.安装.部署. compile compile是maven工程的编译命令,作用是将s ...

  7. Jenkins+Gitlab+Nginx+Maven编译Java项目自动发布与基于tag版本回退(重复构建问题已解决)

    实现流程: 手动部署Java项目至后端Web集群 1.搭建Nginx+Tomcat集群架构. 2.开发提交Java源代码至Gitlab仓库. 3.手动获取Java源代码,然后使用Maven进行编译. ...

  8. Java Maven项目打包成可执行jar文件

    在pom文件中添加一下内容 <build><plugins><plugin><!-- Build an executable JAR --><gr ...

  9. maven 设置打包路径为模块_4、Jenkins持续集成之maven编译

    简介 Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建.自动编译和部署,非常方便.在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服 ...

最新文章

  1. 2022-2028年中国XPS挤塑板行业市场全景评估及产业前景规划报告
  2. python推介系统方法_基于AutoRec 的推荐系统介绍与python实现
  3. java web常用权限方式,java web项目的几种权限控制方法
  4. 图形系统中的仿射变换
  5. Servlet跳转到JSP页面后的路径问题相关解释
  6. 最新光子计算处理器面世:单个光子芯片集成超万个光子器件,频率达1GHz
  7. 【Java】七巧板着色问题
  8. 增加 magento top_menu菜单
  9. 详解李兰娟团队重大抗疫药物成果:2款处方药,体外试验有奇效,已在浙江临床使用...
  10. 当心币圈高仿号!也别指望AI,它有心无力
  11. 构造器2(Java)
  12. MLT-type渲染算法review
  13. maven配置私服后Cannot download sources, 无法下载源码
  14. c 自动打印的服务器,clodop云打印服务器(c_lodop打印机不打印)
  15. psp android 模拟器,安卓psp模拟器
  16. [已失效]坦白说(查看好友)抓包教程+解密工具
  17. python3 如何对一个数进行开方(3种方法)
  18. 手写vue3源码——reactive, effect ,scheduler, stop 等
  19. 【DBSDFZOJ 4370】小宁的机器人(模拟)
  20. 怎样在应用中实现自助报表功能?

热门文章

  1. 大整数减法c语言_C语言学习笔记(一)
  2. linux中将文本中的单词换掉的指令_从零开始学Linux运维|19.文本处理相关命令(2)...
  3. ETSI — MEC — APIs 清单
  4. 好程序员web前端分享js剪切板Clipboard.js 使用
  5. 购物车的实现(jsp的session+Java的Map的结合)
  6. 使用 Android Studio 进行测试 (二) UI 测试
  7. 设计模式学习(十六) 模板方法模式
  8. DBA工具——DMV——通过sys.dm_exec_procedure_stats查看存储过程执行信息
  9. SET ROWCOUNT
  10. 【cocos2d-x从c++到js】02:解决在vs中修改js源文件无效