maven 构建第一个HelloWorld

首先对maven配置文件 pom.xml 做个简单的介绍:

<?xml version="1.0" encoding="UTF-8"?>

<!-- 这是maven 所需要的最简文件配置 -->
<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
	
	<groupId></groupId> <!-- groupId的值就是项目的包名 -->
	<artifactId>maven01-model<artifactId> <!-- artifactId的值是模块名 -->
	<version>0.0.1SNAPSHOT<version> <!--	版本,这里为快照版本   -->
	
</project>

其中:groupId、artifactId、version 被称为Maven坐标,可用于唯一地表示某个项目。

然后是maven的文件目录结构说明:

src
	-pom.xml <!-- maven的配置文件,相关依赖配置都放在这里面 -->
	-main
		-java
			-pakacge
	-test
		-java
			-package
	resources <!-- 这里面存放的是资源文件,暂时用不到 -->

<!-- 由于我只是简单地写个HelloWorld ,所以只写了个test -->

下面,开始写第一个HelloWorld:

用记事本 或者notpaid++ 创建相应的文件夹结构,要与代码结构保持一致。

F:\moocwork\code\maven01\src\main
F:\moocwork\code\maven01\src\test
F:\moocwork\code\maven01\src\main\java\com\imooc\maven01\model
F:\moocwork\code\maven01\src\test\java\com\imooc\maven01\model

main中的代码:

package com.imooc.maven01.model;

public class HelloWorld {
	public String sayHello() {
		return "Hello World!";
	}
}		

test中的代码:

package com.imooc.maven01.model;

/** 这里用到了单元测试,所以要引用相关的包 */
import org.junit.*;
import org.junit.Assert.*;

public class HelloWorldTest {
	@Test
	public void testHello() {
		Assert.assertEquals("Hello World!",new HelloWorld().sayHello());
	}
}	

接下来对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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
	
	<groupId>com.imooc.maven01</groupId>
	<artifactId>maven01-model</artifactId>
	<version>0.0.1SNAPSHOT</version>
    
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
		</dependency>
	</dependencies>
</project>

接下来进行测试:

cmd 
//进入F盘
F:
//进入到工程目录
cd F:\moocwork\code\maven01
//编译 工程
mvn compile

如果看到如下,表示编译成功:

【INFO】---------------------------------------------------------
【INFO】BUILD SUCCESS
【INFO】---------------------------------------------------------

若编译成功,则工程根目录下会多出个 target文件夹,里面存放的是.class 字节码文件

然后,运行测试用例。

// 如果此时你还在工程根目录径下的话,直接运行 否则,跳转到工程根目录下
mvn test

如果出现如下,则表示运行测试用例成功:

-------------------------------------------------------------------------------
Test set: com.imooc.maven01.model.HelloWorldTest
-------------------------------------------------------------------------------
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.075 sec

至此,用maven管理的第一个HelloWorld 就完成了。

最后,最maven 的一些简单命令做下说明:

mvn -v  //查看maven 版本
mvn compile // 编译
mvn test // 测试
mvn package // 打包 
mvn clean // 删除 target
mvn install // 安装jar包到本地仓库中

谢谢你读完我的这篇博客,thanks.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏木宛城主

ASP.NET MVC使用Bootstrap系列(1)——开始使用Bootstrap

作为一名Web开发者而言,如果不借助任何前端框架,从零开始使用HTML和CSS来构建友好的页面是非常困难的。特别是对于Windows Form的开发者而言,更...

20010
来自专栏小白课代表

文件搜索利器——Everything

1572
来自专栏生信宝典

CIRCOS圈图绘制 - circos安装

Circos是绘制圈图的神器,在http://circos.ca/images/页面有很多CIRCOS可视化的示例。 ? ? Circos可以在线使用,在线使用...

1798
来自专栏星汉技术

Sqoop简介以及安装

1482
来自专栏林冠宏的技术文章

关于在用curl函数post网页数据时,遇上表单提交 type为submit 类型而且没有name和id时可能遇到的问题及其解决方法

curl函数库实现爬网页内容的链接在 http://www.cnblogs.com/linguanh/p/4292316.html 下面这个是没有name和id...

1747
来自专栏禅林阆苑

Webpack学习总结 【原创】

Webpack学习总结 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/...

39613
来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统(65)-MVC WebApi 用户验证 (1)

前言: WebAPI主要开放数据给手机APP,其他需要得知数据的系统,或者软件应用,所以移动端与系统的数据源往往是相通的。 Web 用户的身份验证,及页面操作权...

3055
来自专栏Python中文社区

PyQt5 GUI应用程序工具包入门(1)

众所周知,PyQt5是一款优秀的GUI工具集,可用于python界面的快速开发。 本文采用Python3.6+PyCharm社区版进行PyQt5的开发。对于p...

2957
来自专栏dotnet core相关

WCF入门学习(3)

废话不多说,前两集大致介绍了一下什么是WCF以及和WCF相关的WebService和.net Remoting的一些东西,今天主角要上场,开始WCF的实现相关的...

672
来自专栏贾鹏辉的技术专栏@CrazyCodeBoy

React Native 混合开发(iOS篇)

在React Native的应用场景中,有时候一个APP只有部分页面是由React Native实现的,比如:我们常用的携程App,它的首页下的很多模块都是由R...

1425

扫码关注云+社区