maven(02)--简单的命令操作
使用maven有什么好处呢?
这个问题留到该文的末尾进行总结>v<
maven测试
在上一篇文章中介绍了如何简单的编译一个java文件,执行mvn compile命令后,你会发现在你新建的maven-ch01项目目录下多了一个target文件,该文件下classes文件夹下便是编译后的class文件;
接下来在main文件应该包含两个文件夹,分别为src和test,不可变动;
src文件夹下是放项目的主要文件,可以在新建一个java文件夹用来存储java代码;test文件夹下则放一些测试类,也应该新建一个java文件夹,在下面放java测试类;
1:在test/java文件夹下新建一个com.simfg.maven的包,然后在该包下新建一个TestHelloMaven.java,其内容如下
package com.simfg.maven;
import org.junit.*;
import static org.junit.Assert.*; public class TestHelloMaven{
@Test
public void testSayHello(){
HelloMaven hm = new HelloMaven();
String str = hm.sayHello("maven");
assertEquals(str,"hello,maven");
}
}
2:然后在命令行输入命令:mvn test
你会发现它报错了,找不到junit相关类
3:这时候你可能会将它相关的文件添加到环境变量的classPath路径下,但是如果使用maven的话则不需要这样做,只需要修改pom.xml文件即可,如下
<?xml version="1.0" encoding="UTF-8"?>
<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.simfg.maven</groupId>
<!-- 项目中的某个模块 -->
<artifactId>maven-01</artifactId>
<!-- 版本号 -->
<version>1.0</version> <properties>
<project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding>
</properties> <!-- 新添 -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
</dependencies> </project>
4:这时候在在命令行输入:mvn test,会提示编译成功并测试中没有错误
5:观察该项根目录下的target文件夹中的文件,你会发现多了几个文件,其中test-classes文件夹下是测试类编译后的class文件,surefire-reports文件夹下则是测试报告,下面有两个文件,分别是com.simfg.maven.TestHelloMaven.txt(测试报告)和TEST-com.simfg.maven.TestHelloMaven.xml(测试的一些参数),文件名会由测试类的文件名和所在包下变化
运行成功的测试报告是这样的

6:是一个错误的测试吧,首先修改TestHelloMaven.java,将
assertEquals(str,"hello,maven"); -->assertEquals(str,"hello,maven1");
在命令行中运行:mvn clean 作用:清除缓存
然后在运行:mvn test
运行结果肯定是有错的,截图如下

打开测试报告,如下图

根据报告可以知道预期是‘hello,maven’,但是代码中是‘hello,maven1’
到这里你肯定已经知道如何进行测试了
引入不同项目中的文件
1:创建一个新的项目,命名为maven-ch02,其结构和maven-ch01差不多,只不过java文件有所有修改,需要根据java文件建立相应的包哦,文件名为Hello.java,内容为
package com.simfg.maven.ch02;
import com.simfg.maven.HelloMaven;
public class Hello {
public String say(String name){
HelloMaven hm = new HelloMaven();
return hm.sayHello(name);
}
}
2:这时候在切换到项目根路径,然后命令行运行:mvn compile 这时候就会报错,找不到HelloMaven这个类
3:先切换到maven-ch01这个项目的根路径(路径回退,输入: cd ..),然后在命令行运行:mvn install,这时候就会将这个项目进行发布
4:在切换会maven-ch02这个项目,在修改pom.xml,主要是建立依赖,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<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.simfg.maven</groupId>
<!-- 项目中的某个模块 -->
<artifactId>maven-02</artifactId>
<!-- 版本号 -->
<version>2.0</version> <properties>
<project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding>
</properties> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency> <!-- 新添 -->
<dependency>
<groupId>com.simfg.maven</groupId>
<artifactId>maven-01</artifactId>
<version>1.0</version>
</dependency>
</dependencies> </project>
5:你肯定发现了新添的代码和maven-ch01项目中的pom.xml有些许类似地方,其实依赖就是依靠groupId、artifactId、version来定位的,在执行命令:mvn compile,你就可以发现编译顺利完成
打包项目
在命令行输入:mvn package
这时候你会发现target目录下会有一个jar包,这个就是项目打包的结果
总结
基本的maven命令:
1:mvn compile 编译
2:mvn test 测试
3:mvn clean 清空
4:mvn package 打包
5:mvn install 发布项目到本地,会经过和编译
使用maven的好处:
1:无需自己导入jar包,只需要在pom.xml中简单的配置
2:便于分模块开发
3:项目转移给他人无需配置
4:...
如果你还发现有什么好处欢迎留言-V-
maven(02)--简单的命令操作的更多相关文章
- 02 redis通用命令操作
set hi hello 设置值 get hi 获取值 keys * 查询出所有的key memcached 不能查询出所有的key keys *h 模糊查找key keys h[ie] 模糊查找 k ...
- linux 操作系统下简单的命令行操作
一: 配置linux 操作系统虚拟主机 首先安装一个虚拟机(百度上面有很多哦) , 我主要使用的是VMware workstation 然后 下载一个centos镜像6..5到7都可以; 然后用VMw ...
- 分布式数据库中间件–(3) Cobar对简单select命令的处理过程
友情提示:非原文链接可能会影响您的阅读体验,欢迎查看原文.(http://blog.geekcome.com) 原文地址:http://blog.geekcome.com/archives/284 在 ...
- Maven(二)Maven项目的创建(命令、myeclipse)及生命周期
上一篇给大家介绍了Maven的概念和仓库的一些信息,接下来给大家分享一下使用命令和MyEclipse创建Maven项目 一.使用命令管理Maven项目 1.1.创建Maven java项目 1)创建一 ...
- 学会使用简单的MySQL操作
第十八章 学会使用简单的MySQL操作 在前面两个章节中已经介绍过MySQL的安装了.可是光会安装还不够.还须要会一些主要的相关操作.当然了,关于MySQL的内容也是非常多的.仅仅只是对于linux系 ...
- Redis简单的数据操作(增删改查)
#Redis简单的数据操作(增删改查): 字符串类型 string 1. 存储: set key value 127.0.0.1:6379> set username zhangsan OK 2 ...
- 8天掌握EF的Code First开发系列之2 简单的CRUD操作
本文出自8天掌握EF的Code First开发系列,经过自己的实践整理出来. 本篇目录 创建控制台项目 根据.Net中的类来创建数据库 简单的CRUD操作 数据库模式更改介绍 本章小结 本人的实验环境 ...
- berkerly db 中简单的读写操作(有一些C的 还有一些C++的)
最近在倒腾BDB,才发现自己确实在C++这一块能力很弱,看了一天的api文档,总算是把BDB的一些api之间的关系理清了,希望初学者要理清数据库基本知识中的环境,句柄,游标的基本概念,这样有助于你更好 ...
- Maven的简单搭建
Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包.接下来将从下面几个方向介绍maven: (1)Maven简单介绍 (2)Maven安装与配置 (3)Maven ...
随机推荐
- js正则表达式详解及示例讲解
所谓正则表达式,简单来说就是一种规则,一种计算机能读懂的规则.js中的正则表达式语法是Perl5(一种很早的编程语言)的正则语法的子集.本文将在基础知识的基础上添加示例帮助快速理解正则表达式. 学习正 ...
- iOS开发之NSOperation & NSOperationQueue
1.简介 (1) NSOperationQueue(操作队列)是由GCD提供的队列模型的Cocoa抽象,是一套Objective-C的API,为了使并发(多线程)编程变得更加简单,但效率比GCD略低. ...
- 搭建ntp 时钟服务器_Linux
一.搭建时间同步服务器1.编译安装ntp serverwget [url]http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.4p4.tar.g ...
- Nginx编译参数
configure arguments: --with-cc-opt='-g -O2 -fPIE -fstack-protector //设置额外的参数将被添加到CFLAGS变量.(FreeBSD或者 ...
- 【Flex】读取本地JSON,然后JSON数据转成XML数据
package utils { import flash.xml.XMLDocument; import flash.xml.XMLNode; import mx.rpc.xml.SimpleXMLE ...
- 使用关系型数据库作为Redis落地的思路
Redis的持久化方式主要有2种:RDB和AOF,但各有不足,同时Redis没有SQL支持,Redis本身提供的命令不足以实现大多数SQL查询需求,对后期运营的分析需求支撑不足.此外,对于游戏来说,活 ...
- 南京.NET线下活动后续—一对一技术交流
4月1日星期六,发生了几件大事: 1.网民与老板花式斗图,庆祝愚人节. 2.国务院设立雄安新区,定为千年大计 3.纳龙科技的程序猿赴镇江斯诺物联科技进行一对一技术交流. 此次一对一交流活动是3月11日 ...
- es 6点滴记录
关于babel和webpack的使用: Babel 所做的只是帮你把'ES6 模块化语法'转化为'CommonJS 模块化语法',其中的require exports 等是 CommonJS 在具体实 ...
- Linux工具XFTP、Xshell(centos配置java环境 工具篇 总结一)
♣Xmanager5是什么? ♣安装XFTP ♣安装Xshell 1.Xmanager5(官网:https://www.netsarang.com/download/software.html)是全新 ...
- Thread 与 Runnable 混合使用测试
package com.dava; public class TesThread extends Thread implements Runnable { public void run() { Sy ...