2.Maven特点,Maven约定,建立第一个Maven项目
1 Maven是跨平台的项目管理工具。主要服务于基于java平台的项目构建,依赖管理和项目信息管理。
|
项目构建 |
清理à编译à測试à报告à打包à部署 |
|
|
理想的项目构建: |
高度自己主动化 |
|
|
跨平台 |
||
|
可重用的组件 |
||
|
标准化的 |
||
|
依赖管理 |
project的jar包的管理 |
|
|
要进行依赖管理的原因 |
自己主动下载 |
|
|
统一依赖管理 |
||
|
项目信息管理(包含) |
项目名称描写叙述等 |
|
|
开发者信息 |
||
|
开发人员信息等 |
||
2 Maven的特点
|
A拥有约定。知道你的代码在哪里,放到哪里去 |
|
B拥有一个生命周期。比如运行mvn install就能够自己主动运行编译,測试,打包等构件过程。 |
|
C仅仅须要定义一个pom.xml,然后把源代码放到默认的文件夹,Maven帮你处理其它事情。 |
3 Maven约定
|
A src/main/java –存放项目的.java文件 |
|
B src/main/resources –存放项目资源文件。比方spring,hibernate配置文件 |
|
C src/test/java –存放全部測试.java文件,比方JUnit測试类 |
|
D src/test/resources ---測试资源文件 |
|
E target ---项目输出位置,编译完毕后的东西放到这里面 |
|
F pom.xml |
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.toto.maven</groupId> |
包名 |
|
<artifactId>Hello</artifactId> |
项目中主类的名 |
|
<version>0.0.1-SNAPSHOT</version> |
主类的版本号 |
|
<name>Hello</name> |
project的名字 |
|
<dependencies> |
项目依赖 |
|
<dependency> |
依赖 |
|
<groupId>junit</groupId> |
依赖的东西,表示依赖junit |
|
<artifactId>junit</artifactId> |
|
|
<version>4.9</version> |
|
|
<scope>test</scope> |
|
|
</dependency> |
|
|
</dependencies> |
|
|
</project> |
|
4新建一个Maven项目
在G:\maven下创建一个Hello项目
A Maven约定的文件夹结构。并实际创建:
|
Hello --src ------main -------------java -------------resources ------test -------------java -------------resources --target --pom.xml |
B在项目Hello根文件夹建立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 <modelVersion>4.0.0</modelVersion> <groupId>cn.toto.maven</groupId> <artifactId>Hello</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Hello</name> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </dependency> </dependencies> </project> |
C在src/main/java/cn/toto/maven文件夹下新建文件Hello.java
|
package cn.toto.maven; public class Hello { public String sayHello(String name){ return "Hello "+name+"!"; } } |
D在/src/test/java/cn/toto/maven文件夹下新建測试文件HelloTest.java
|
package cn.toto.maven; import org.junit.Test; import static junit.framework.Assert.*; public class HelloTest { @Test public void testHello(){ Hello hello = new Hello(); String results = hello.sayHello("litingwei"); assertEquals("Hello litingwei!",results); } } |
E使用maven
|
a) 打开cmd命令行,进入Hello项目根文件夹运行mvn 在连网的情况下。假设没有对应的依赖的jar,它会自己主动从网上下载 b) cmd中继续录入mvn
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast"> c)cmd中录入 mvn compile命令,查看根文件夹变化 d)cmd中录入 mvn test命令。查看根文件夹变化 e)cmd中录入 mvn package命令,查看根文件夹变化 |
2.Maven特点,Maven约定,建立第一个Maven项目的更多相关文章
- maven学习3,如何创建一个web项目
Maven学习 (三) 使用m2eclipse创建web项目 1.首先确认你的eclipse已经安装好m2eclipse的环境,可以参照上两篇Maven学习内容 2.新建一个maven的项目 ...
- Maven(一)如何用Eclipse创建一个Maven项目
1.什么是Maven Apache Maven 是一个项目管理和整合工具.基于工程对象模型(POM)的概念,通过一个中央信息管理模块,Maven 能够管理项目的构建.报告和文档. Maven工程结构和 ...
- Maven:如何在eclipse里新建一个Maven的java项目和web项目
如何在eclipse里新建一个Maven的java项目和web项目: 一:java项目 New-->Other-->Maven 右击项目-->properties,修改以下文件: ① ...
- maven系列(2)-第一个maven的项目
上一篇简单了介绍了maven和maven的安装,这篇介绍如何用maven创建项目. 1. 命令行创建maven项目 maven创建项目很简单,直接调用mvn archetype:generate命令即 ...
- Maven学习 (五) Elipse中发布一个Maven项目到Tomcat
对于maven初学者的我,经常遇到一个问题就是,maven项目创建成功后,本来已经添加了jar的依赖,但是发布到Tomcat中就是没有jar包存在, 启动Tomcat总是报没有找到jar包,可项目结构 ...
- Maven学习在Elipse中发布一个Maven项目到Tomcat
原文:http://www.cnblogs.com/quanyongan/archive/2013/04/26/3044618.html 对于maven初学者的我,经常遇到一个问题就是,maven项目 ...
- 【读书札记】建立第一个Web项目
安装配置好jdk.tomcat,我用的版本号是7.0.54,我放在C:\server\apache-tomcat-7.0.54下, CATALINA_BASE:C:\server\apache-tom ...
- Eclipse中一个Maven工程的目录结构
在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class.以后的日子中也没有机会注意到一个工程到底是怎么组织的这种问题,跟不要说自己 ...
- Eclipse中一个Maven工程的目录结构 (MacOS)
1. 为什么写这篇文章 在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class.以后的日子中也没有机会注意到一个工程到底是怎么组织 ...
随机推荐
- freeswitch 编码协商
编辑 /usr/local/freeswitch/conf/sip_profiles/internal.xml 添加注释 <param name="inbound-zrtp-p ...
- vue如何根据返回的值对元素进行样式渲染
1.最终显示样式: 需要:根据任务状态值,显示不同颜色的原点表示任务状态,以及对优先级的数据,进行☆标记 2.代码实现: 在<el-table-column>中需要显示的内容前面,添加图标 ...
- JS中的NaN
什么是NaN?它的类型是什么?如何可靠地测试一个值是否等于NaN? NaN属性表示“不是数字”的值.这个特殊值是由于一个操作数是非数字的(例如“abc”/ 4)或者因为操作的结果是非数字而无法执行的. ...
- NYIST 749 蚂蚁的难题(八)
蚂蚁的难题(八)时间限制:2000 ms | 内存限制:65535 KB难度:5 描述蚂蚁是一个古玩爱好者,他收藏了很多瓶瓶罐罐. 有一天,他要将他的宝贝们一字排开, 摆放到一个长度为L的展台上. 已 ...
- C/C++ Swap without using extra variable
本系列文章由 @YhL_Leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50255379 对于可以线性运算的变量, ...
- Http请求和相应模式(B/S)(1)
B/S模式 服务器端的接受数据 :浏览器端 表单格式 <form></form> GET:请求方式, /index.html Web浏览器上的资源路径 uname=bjxt& ...
- android开发面试题
找了将近两个星期的工作,面试了5家公司,罗列一下笔试或者面试时的问题,祝大家好运 1,handler机制 答:handler执行机制:1).在主线程中创建handler 2).子线程中借助主线程的ha ...
- 【转载】Select函数实现原理分析
Select函数实现原理分析 <原文> select需要驱动程序的支持,驱动程序实现fops内的poll函数.select通过每个设备文件对应的poll函数提供的信息判断当前是否有资源可用 ...
- c3p0在spring中的配置
在大家的开发和学习其中应该经经常使用到数据库的连接和使用,只是连接 的方式就有非常多种方式了,例如说用最最简单的JDBC 也好,还实用比 较复杂一点的就是数据库连接池.当然还有使用DBCP的连接的,各 ...
- 【Linux驱动】TQ2440 DM9000E网卡驱动移植(Linux-2.6.30.4)
花了一天的时间研究了一下Linux-2.6.30.4版本号内核下关于TQ2440 DM9000E的网卡驱动移植.总结一下自己的收获. 事实上.在Linux-2.6.30.4版本号内核下有关于网卡驱动, ...