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命令,查看根文件夹变化 |
最新文章
- Ajax学习记录
- 烂泥:学习ssh之ssh无密码登陆
- struts2 拦截器和actioninvocation、PreResultListener
- Coding the Matrix (2):向量空间
- 算法大全(c,c++)
- select resharper shortcuts scheme
- cisco VPN
- MySQL基础知识2
- HBase的Shell命令
- grid编辑后时间格式不对问题
- java学习笔记 线程的实现与同步
- C#设计模式之十外观模式(Facade Pattern)【结构型】
- P1182 数列分段`Section II` P1316 丢瓶盖 二分答案
- 利用Aspectj实现Oval的自动参数校验
- linux command1
- 并发编程之 Semaphore 源码分析
- learning uboot switch to standby system using button
- tabindex 属性
- C#编程(七)----------命名空间
- 从零开始,制定PHP学习计划