2019独角兽企业重金招聘Python工程师标准>>>

每次学习新知识,都从helloworld开始,今天也不例外,hellowrold我来了。

一、Maven项目之核心--------pom.xml

1.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.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!-- 指定当前POM模型版本--><!-- 定义项目属于哪个组,这个组和项目需哦在的组织或公司存在关联 例如:你的公司是kafei;项目名为:.mvnproject;那么groupId就为:com.kafei.mvnproject--><groupId>com.kafei.mvnproject</groupId><!-- 定义当前MAVEN项目在组中唯一的ID--><artifactId>helloworld</artifactId><!-- 指定项目当前的版本,SNAPSHOT为快照的意思,随着项目的发展,版本会不断的更新--><version>1.0-SNAPSHOT</version><!-- 为项目指定更加详细清楚的名称,方便用户更好的阅读理解--><name>Maven Hello World Project</name><!-- 编写代码测试--><!-- 在测试时需要使用到junit,配置好之后,如果是第一次使用MAVEN,则在测试时会从中央仓库下载名为junit_4.11.jar的文件--><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies>
</project>

注:这段代码中最重要的就是groupId、artifactId、version,这三个元素定了一个项目基本的坐标,

在maven的世界中,都是以这些基本的坐标来进行区分的。

二、编写主要代码(默认Maven假设项目主代码位于src/main/java目录)

a.创建项目主文件夹,这里以helloword进行命名,遵循MAVEN约定,然后在这个文件夹下创建src/main/java目录

b.完成a操作后,在src/main/java目录下创建com/kafei/mvnproject/helloworld/HelloWorld.java

HelloWorld.java:

package com.kafei.mvnproject.helloworld;
public class HelloWorld
{public String sayHello(){return "Hello Maven";}public static void main(String[] args){System.out.print(new HelloWorld().sayHello());}
}

该JAVA类的包名是:com.kafei.mvnproject.helloworld,与之前在pom.xml配置的groupId、artifactId相吻合。

3.编译代码

命令:mvn clean compile

在DOS窗口下,使用CD命令切换到你项目的根目录

如:cd C:\Users\用户名\Desktop\helloworld,然后执行编译命令

执行编译命令后输出如下图:

clean告诉Maven清理输出目录targer,compile告诉Maven编译项目主代码,从上面输出的信息中可以看到Maven首先执行了

clean:clean 任务,删除target/目录。默认情况下,Maven构建的所有输出都在targer目录中,接着执行resources:resources 任务

最后执行compile:compile 任务,将项目主代码编译至target/classes目录。

其中clean:clean、resources:resources、compile:compile对应了一些Maven插件。

注意:在首次使用Maven进行编译项目时,可能会从中央仓库下载一些所需的文件,请耐心等待。

三、编写测试代码

命令:mvn clean test

为了使项目结构清晰,主代码与测试代码应该放在不同的目录中。

Maven项目中默认的主代码目录为src/main/java

Maven项目中默认的测试代码目录为src/test/java,应当先创建该目录,然后在该目录下创建文件HelloWorldTest.java

在上文的pom.xml中我已经增加了测试项目的配置。

主要配置如下:

<!-- 在测试时需要使用到junit,配置好之后,如果是第一次使用MAVEN,则在测试时会从中央仓库下载名为junit_4.11.jar的文件--><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency></dependencies>

HelloWorldTest.java:

package com.kafei.mvnproject.helloworld;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class HelloWorldTest
{@Testpublic void testSayHello(){HelloWorld helloWorld=new HelloWorld();String result=helloWorld.sayHello();assertEquals("Hello Maven",result);}
}

执行mvn clean test命令测试通过后输出如下测试报告:

注意:在首次使用Maven进行测试项目时,输出的可能比上面的要多,可能会从中央仓库下载一些所需的文件,请耐心等待。

从上面的信息中可以看以看出测试代码通过编译了,编译后的文件为target\test-classes\com\kafei\mvnproject\helloworld\HelloWorldTest.class,

接着surefire:test任务运行并且测试,surefire是maven中负责测试的插件,上图中的信息就是测试报告,可以看出一共运行了多少测试、

失败了多少、出错了多少、跳过了多少,显然测试通过了。

至此Maven从创建项目到编写主代码,然后进行测试已经完了,后续会说明怎么对Maven项目打包和运行。、

源码下载:HelloMaven源码

转载于:https://my.oschina.net/ht896632/blog/628453

Maven入门(一)(HelloMaven)相关推荐

  1. Maven入门指南⑦:Maven的生命周期和插件

    Maven入门指南⑦:Maven的生命周期和插件 一个完整的项目构建过程通常包括清理.编译.测试.打包.集成测试.验证.部署等步骤,Maven从中抽取了一套完善的.易扩展的生命周期.Maven的生命周 ...

  2. Maven学习总结(一)——Maven入门

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(一)--Maven入门 一.Maven的基本概念 Maven(翻译为"专家",&quo ...

  3. Maven学习(一)——Maven入门

    为什么80%的码农都做不了架构师?>>>    一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服 ...

  4. Maven入门指南(一)

    原文链接  译文链接  译者:nkcoder  校对:方腾飞 Maven介绍: Maven是一个强大的Java项目构建工具.当然,你也可以使用其它工具来构建项目,但由于Maven是用Java开发的,因 ...

  5. Maven入门极简使用教程

    Maven入门级别使用 回顾 拦截器 统一异常处理 ​ 实现接口的方式. ​ 注解方式.(分享) ​ 如果是ajax请求,会将异常信息发送到客户端的响应中. 复习spring springmvc SS ...

  6. Maven 入门 (1)—— 安装

    Maven 入门 (1)-- 安装 http://blog.csdn.net/kakashi8841/article/details/17371837 1.下载maven安装包 http://mave ...

  7. Maven入门详解以及Eclisp的集成

    1.首先要安装Maven到操作系统上 Maven的下载页面:http://maven.apache.org/download.html Maven跟Tomcat很像,下载下来后直接解压在指定的目录就安 ...

  8. Hibernate基于Maven入门实例,与MyBatis比对

    此篇承接上一篇: MyBatis基于Maven入门实例 准备部分 1. 进入http://mvnrepository.com/ , 搜索 Hibernate ORM, 找到相应的版本后, 可以看到配置 ...

  9. maven 入门介绍

    Maven是什么? Maven: 中文翻译,"专家".基本上有两个用途 一是构建工具,  用来把源代码构建成可发布的构件.类似于ant; 另外一个是项目管理工具. 官方给出的定义是 ...

  10. 【转】Maven 入门

    [转]http://www.blogjava.net/jiangshachina/archive/2006/09/01/67080.html Maven入门--概念与实例  最近由于工作原因在研究.应 ...

最新文章

  1. Fabrice Bellard:一个人抵得上一个百人团队
  2. 战胜心理寂寞的六大秘方
  3. 云原生的五大趋势,K8s安卓化位列其一
  4. ffplay.c学习-5-视频输出和尺⼨变换
  5. web app小程序各种客服窗口插件
  6. 赛锐信息:SAP ABAP 概述
  7. java println和print_java中的print和println有区别吗
  8. [转载] Python基础:什么是字符串?字符串是用来做什么的?
  9. html设置导背景宽度,calc()实现满屏背景定宽内容
  10. Java高并发编程之第一阶段,多线程基础深入浅出
  11. 人工智能、机器学习、神经网络和深度学习的关系
  12. VOA special English 下载 py
  13. 【DenseFusion代码详解】linemod数据集预处理过程
  14. 伽罗华有限域_伽罗华域(Galois Field,GF,有限域)乘法运算 - MengBoy的专栏 - CSDN博客...
  15. 上海php程序员职友集,好程序员WEB前端培训|HTML5培训|H5培训-好程序员官网
  16. 像“毒液”一样的粘液机器人火了,能取出体内异物,穿过1.5mm细缝无压力!...
  17. 浅谈微机综合自动化系统在化工企业变电站中应用
  18. 2021全国人工智能师资培训正式“开课”,百度飞桨助力高校教师提升AI“超能力”...
  19. 零基础入门智能射频——偶极子天线等效电路模型分析
  20. 视觉SLAM十四讲——对极约束(2D-2D)笔记

热门文章

  1. linux的套接口和管道
  2. quicktime无法安装
  3. SMO学习笔记(三)——效验数据库备份文件
  4. mysql错误日志/var/log/mariadb/mariadb.log,二进制日志
  5. (十二)struts2的类型转换
  6. Nginx反向代理Tomcat的配置方法
  7. Axure7.0 以及 中文汉化语言包下载 axure汉化包
  8. PHP7 RC7 Release对比PHP5.6快速排序20000数据性能体验以及新语法尝鲜
  9. Sql Server 2005 服务器性能监视[转]
  10. 使用C#中的ref关键字,用2个简单例子来说明