Maven学习小结(二 项目构建过程)
1.创建Maven项目
1.1 创建Maven项目的约定目录结构
1.2 编辑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>cn.test.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version> <dependencies>
<!-- 需要依赖junit 通过 groupId+artifactId+version来查找,如果本地没有则到中央仓库下载 -->
<dependency>
<!-- 当前jar所属的命名空间 -->
<groupId>junit</groupId>
<!-- 依赖的项目模块的名称 -->
<artifactId>junit</artifactId>
<!-- 依赖的版本号 -->
<version>4.9</version>
<!-- 依赖的范围, 有 test compile privlege -->
<scope>test</scope>
</dependency>
</dependencies>
</project>
1.3创建java文件
//MavenTest1\src\main\java\cn\test\maven package cn.test.maven; public class Hello
{
public String sayHello(String name){
return "Hello "+name+" !";
}
}
1.4创建测试文件
//MavenTest1\src\test\java\cn\maven package cn.maven; import cn.test.maven.Hello;
import org.junit.Test;
import static junit.framework.Assert.*; public class HelloTest{
@Test
public void testHello(){
Hello hello =new Hello();
String results=hello.sayHello("Maven");
assertEquals("Hello Maven !",results);
}
}
2.使用Maven编译、清理、测试、打包、部署项目
2.1使用“mvn compile”编译项目,Maven会根据pom.xml中的添加的“junit”依赖到Maven仓库下载对应的jar文件。编译后生成target文件夹,和之前的一致。
2.2 使用“mvn clean”清理编译后的文件。
2.3 使用”mvn test”测试项目:

会在项目根目录下生成target文件夹,里面有classes目录和test-classes;也就是说“mvn test”是先编译再测试;

2.4使用“mvn package”打包项目

成功后在target下有Hello-0.0.1-SNAPSHOT.jar文件

2.5使用“mvn install”部署项目

部署成功后,在target下有Hello-0.0.1-SNAPSHOT.jar文件

同时,在本地仓库也有一份Hello-0.0.1-SNAPSHOT.jar文件

所以“mvn install”就是把用Maven来部署项目的
清理—>编译—>测试—>打包这几个步骤一起执行,并把创建的jar文件发布到本地Maven仓库。
3.在其他项目中使用通过Maven部署生成的jar包
3.1编辑pom.xml文件,和使用“junit”依赖一样;
<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>cn.test.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version> <dependencies>
<!-- 需要依赖junit 通过 groupId+artifactId+version来查找,如果本地没有则到中央仓库下载 -->
<dependency>
<!-- 当前jar所属的命名空间 -->
<groupId>junit</groupId>
<!-- 依赖的项目模块的名称 -->
<artifactId>junit</artifactId>
<!-- 依赖的版本号 -->
<version>4.9</version>
<!-- 依赖的范围, 有 test compile privlege -->
<scope>test</scope>
</dependency> <dependency>
<groupId>cn.test.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
3.1创建java文件
//MavenTest1\src\main\java\cn\maven
package cn.maven; import cn.test.maven.Hello;
public class HelloWorld
{
public String sayHi(String name){
Hello hello=new Hello();
String str=hello.sayHello(name) + " how are you ?"+this.getMyName()+",said";
return str;
} public String getMyName(){
return "007";
}
}
创建测试文件:
//MavenTest1\src\test\java\cn\maven
package cn.maven; import cn.test.maven.Hello;
import org.junit.Test;
import static junit.framework.Assert.*; public class HelloWorldTest{
@Test
public void testHelloWorld(){
HelloWorld helloWorld =new HelloWorld();
String results=helloWorld.sayHi("Dr.Q");
assertEquals("Hello Dr.Q ! how are you ?007,said",results);
}
}
使用“mvn package”测试成功:

参考:http://www.cnblogs.com/xdp-gacl/p/4051690.html
Maven学习小结(二 项目构建过程)的更多相关文章
- 项目构建之maven篇:2.HelloWorld项目构建过程
文件结构说明: 项目构建生命周期: 清理 编译 測试 打包 执行 部署 清理与编译 hello\pom.xml POM:Project Object Model,项目对象模型 pom.xml与ant的 ...
- (转)Maven学习总结(二)——Maven项目构建过程练习
孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项 ...
- Maven学习总结(2)——Maven项目构建过程练习
Maven学习总结(二)--Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建 ...
- Maven学习小结(五 pom.xml详解[转])
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- Maven学习系列二(1-5)
Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/47 ...
- Maven学习总结(二)——Maven项目构建过程练习
上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...
- Maven学习总结(二)——Maven项目构建过程练习_转载
上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立M ...
- 转】Maven学习总结(二)——Maven项目构建过程练习
原博文出自于:http://www.cnblogs.com/xdp-gacl/p/4051690.html 感谢! 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven ...
- Maven学习(二)-- Maven项目构建过程练习
摘自:http://www.cnblogs.com/xdp-gacl/p/4051690.html 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立Maven约 ...
随机推荐
- SharePoint 2010 获取列表中所有数据(包括文件夹内)的方法
转: http://blog.csdn.net/wangwenism/article/details/8751411 SharePoint的列表能存储文件以及文件夹,用户使用的时候,经常会建几个分类文 ...
- 也用 Log4Net 之走进Log4Net (四)
转载地址:http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html 我是转的别人的内容,我觉得他写的非常好,所以我把其中三分之二转了过来 ...
- NGINX开篇
前言 最近空闲时间比较多, 开始阅读nginx源码, 阅读的过程总结和笔记整理了下, 汇集成了一个系列的文章, 由于nginx功能实在太多, 没法做到面面俱到, 只对已经阅读过的源码进行记录总结, 以 ...
- FZU1686 神龙的难题 dancing links 重复覆盖
分析:每次可以打一个小矩阵的怪,然后把每个怪看成一列,然后每个小矩阵看成一行,枚举左上角就行 注:然后注意总共的节点数是新图的行*列的个数,不是原图 #include<cstdio> #i ...
- 如何学习ios开发
著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:Franz Fang链接:http://www.zhihu.com/question/20264108/answer/3026 ...
- 【转】C/C++除法实现方式及负数取模详解
原帖:http://blog.csdn.net/sonydvd123/article/details/8245057 一.下面的题目你能全做对吗? 1.7/4=? 2.7/(-4)=? 3.7%4=? ...
- dateline 在数据库中就是 整型字段。date函数是可以转换成可读日期的。
返回数据中的dateline全部用date()函数转换后再返回,是要嵌套循环还是遍历,代码怎么写? //查询我的活动 function user_activity_info_by_uid($uid){ ...
- 【HBase学习】Apache HBase 参考手册 中文版
正在撰写,稍后来访……
- 数组(Array)
1. 数组(Array):相同类型数据的集合就叫做数组. 2. 数组的定义与赋值(系统会默认初始化) 普通数组: package com.li; public class Array{ public ...
- leetcode@ [22]Generate Parentheses (递归 + 卡特兰数)
https://leetcode.com/problems/generate-parentheses/ Given n pairs of parentheses, write a function t ...