初识Maven POM
POM
Project Object Model项目对象模型定义了项目的基本信息,用于描述项目如何构建,申明项目依赖,等等。
pom元素:
<modelVersion>4.0.0</modelVersion> <groupId>com.fwj.TestMvn</groupId>
<artifactId>TestMvn</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>TestMvn</name>
<url>http://maven.apache.org</url>
<project></project> 根元素。
<modelVersion>4.0.0</modelVersion>指定当前pom模型的版本,对于Maven2和Maven3来说,它只能是4.0.0
<groupId>com.fwj.TestMvn</groupId>groupId定义了项目属于哪个组,比如公司名字是fwj,项目名是TestMvn,那么groupId应该为com.fwj.TestMvn
<artifactId>TestMvn</artifactId>artifactId定义了当前Maven项目在组中唯一的Id。
<version>0.0.1-SNAPSHOT</version>指定当前项目的版本,snapshot意为快照,说名该项目还处于开发阶段。
<packaging>jar</packaging> 打包形式
<name>TestMvn</name>对于用户给为用好的项目名称,描述项目。
<url>http://maven.apache.org</url>
Java项目的类的包名应该基于groupId和artifactId,这样更加清晰,更加符合逻辑,包名应该为com.fwj.TestMvn.TestMvn
使用Maven进行编译
在项目的根目录下使用mvn clean compile
clean告诉Maven清理输出目录target/
compile告诉Maven编译项目主代码
使用Maven进行测试
mvn clean test
打包
mvn clean package 没有配置打包类型,默认打包jar
mvn clean install 安装包本地Maven仓库
执行test之前会执行compile,执行package之前会执行test,执行install之前会执行package。
构建项目骨架
mvn archetype:generate
管理依赖
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
dependencies下包含多个dependency声明项目的依赖。
<scope>test</scope> scope表明依赖范围,若为test则表明依赖只对测试有用。如果在主代码中inport Junit代码,就会造成编译错误。如果不声明依赖翻译,则默认值就是compile,表明该代码对主代码和测试代码都有效。
最新文章
- Selenium:元素等待的4种方法
- struts2获取web元素(request、session、application)
- AC日记——独木桥 洛谷 p1007
- js 每秒刷新系统时间,可停止
- netbean使用技巧
- 关于《s3c2416裸跑环境配置》一文的一些补充
- javaWeb学习总结(8)- jsp指令(3)
- WebService两种调用方法
- Android - include属性用法
- 应付模块的R12 TRACE 和 FND Debug 文件 / FND 日志 调试
- Python后台开发Django(数据库)
- L2-005 集合相似度 (25 分) (STL——set)
- day13_H5_CSS_1
- tesseract库
- javascript 4.2
- TZOJ:3660: 家庭关系
- UVALive 6322 最大匹配...
- WEB javaScript
- elk定时清理日志
- 笔记本建立wifi热点的实用详细步骤
热门文章
- laravel 项目本地版本为5.5,线上mysql 为5.7.21版本,执行严格模式
- 机房收费系统——技术总结 标签: vb数据库技术 2014-09-07 22:29 1153人阅读 评论(30)
- 关于inflate的第3个参数
- SharpDX初学者教程第1部分:在Visual Studio 2013中设置SharpDX项目
- 微服务开源生态报告 No.1
- 爬虫:Selenium + PhantomJS
- 洛谷P1164 小A点菜
- C运行时库函数和API函数的区别和联系
- 在ORACLE存储过程中创建临时表
- @noi.ac - 491@ explore