maven的hello world
maven的安装和设置
下载maven
maven项目是由apache维护,那么我们就去apache的官网下载maven吧。
配置maven
- 配置maven的环境变量:
- 运行 mvn -v 测试maven是否安装成功
- 将%M2_HOME%/conf/setting.xml拷贝到%user.home%/.m2/ 下
- 在setting里面加上D:/4Java/maven-repository,将maven的仓库转移出c盘
hello world
建立目录结构
- 首先确定我们的项目名称为hello-world,新建一个文件夹hello-world
- 在文件夹下加入pom.xml(project object model)maven的依赖,插件管理等,都在这里设置
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.lm.account</groupId>
<artifactId>account-email</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
pom.xml文件放在根目录,定义了整个项目的依赖,和插件等
pom.xml的根元素是porject 其次需要定义modelVersion ,maven2,maven3默认的是4.0.0
groupId,artifactId和version,这三个元素代表了maven中的坐标,唯一确定一个project。
groupId公司域名反转.项目名称
artifactId代表模块名字
version是版本号
项目的依赖是在dependencies>dependency中定义的,每一个dependency包含下列属性
groupId,artifactId,version,type,scope,optional,exclusions
groupId,artifactId和version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,maveng根据坐标才能找到需要的依赖
type:依赖的类型,对应项目坐标定义的packaging。大部分情况下,该元素不必生命,默认值是jar
scope:依赖的范围
optional:标记依赖是否可选
exclusions:用来排除传递性依赖
- 创建 src/main/java 用来存放源代码
- 创建 src/test/java 用来存放测试代码
- 在src/main/java 下创建 com/lm/demo/helloworld (对应java的包名)新建一个HelloWorld.java
package com.lm.demo.helloworld;
public class HelloWorld{
public String sayHello(){
return "hello world";
}
public static void main(String[] args){
System.out.println(new HelloWorld().sayHello());
}
}
- 在src/test/java下创建com/lm/demo/helloworld(对应java的包名)新建一个HelloWorldTest.java
package com.lm.demo.helloworld;
import org.junit.*;
public class HelloWorldTest{
@Test
public void testSayHello(){
Assert.assertEquals("hello maven",new HelloWorld().sayHello());
}
}
- 在命令行界面进入hello-world的根目录运行 mvn clean comoile maven会自动编译项目,maven 默认生成的项目在taget目录下
- 运行 mvn package 可以自动将hello-world打包成默认的jar包
- 运行mvn test 会自动进行单元测试
- 运行mvn install 可以将hello-world的项目安装到mvn的仓库中
以上只是maven的简单操作, 命令 mvn compile ,mvn test ,mvn package,mvn install,对应了maven的生命周期(以后会详细介绍)而maven的项目的管理全部依靠插件的方式 例如maven compiler:compile的意思是maven的compiler插件的compile目标。目前知道就行。