maven详解-maven入门

这一节不用eclipse来创建maven项目,我们自己创建

Maven概念



maven安装

2.1

http://maven.apache.org/download.cgi下载

2.2

解压缩

我的在E:\tools\maven


2.3

配置环境变量

新建一个环境变量



在path环境变量中加一条


2.4

验证maven有没有配置成功

在cmd窗口中输入mvn –v


第一个例子

第一个例子我们全是自己手写,后面再用eclipse构建

3.1

Maven要求的目录结构


我们例子的包名为com.imaven.maven01.model

所以总的目录结构为




我们在src\main\java\com\imaven\maven01\model 目录下建一个HelloWorld.java

代码如下

package com.imaven.maven01.model;

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


我们在 src\test\java\com\imaven\maven01\model目录下建一个HelloWorldTest.java

代码如下

package com.imaven.maven01.model;

import org.junit.*;
import org.junit.Assert.*;

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


maven管理项目需要一个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>com.imaven.maven01</groupId>
  <artifactId>maven01-model</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.1</version>
    </dependency>
  </dependencies>
</project>

前三行不用管,以后我们用eclipse创建maven项目的时候会自动生成

<groupId> 是我们的项目名字

<artifactId> 是我们具体的模块名字

<version> 项目版本

<dependency> </dependency>标签之间的东西就是我们依赖的库,maven会为我们自动管理

我们把pom.xml复制到src的同目录下


maven常用构建名字


4.1

mvn compile 编译项目

打开cmd窗口,进入pom.xml所在的目录输入mvn compile 编译项目


我们看到BUILD SUCCESS的时候就说明项目编译成功了


mvn compile 执行的时候就会自动下载项目所依赖的库


4.2

mvn test 运行测试用例


同样我们看到



4.3

mvn package 生成jar包


我们会看到在src目录下有一个target目录,下面会有个jar包



4.4

mvn clean 删除target


4.5

mvn install 安装jar包到本地仓库中

我们新建一个项目

目录结构如下




我们在maven根目录建立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>com.imaven.maven02</groupId>
  <artifactId>maven02-model02</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
    </dependency>
	
  </dependencies>
</project>


我们在 maven02\src\main\java\com\imaven\maven02\util目录下 新建一个文件Speak.java

代码如下

package com.imaven.maven02.util;

import com.imaven.maven01.model.HelloWorld;

public class Speak{
	public String sayHi(){
		return new HelloWorld().sayHello();
	}
}

这里我们用到了maven01项目中的东西,所以需要导入项目一中的HelloWorld

import com.imaven.maven01.model.HelloWorld;



我们在 maven02\src\test\java\com\imaven\maven02\util目录下 新建一个文件SpeakTest.java

代码如下

package com.imaven.maven02.util;

import org.junit.*;
import org.junit.Assert.*;

public class SpeakTest{
	@Test
	public void testsayHi(){
		Assert.assertEquals("Hello World!",new Speak().sayHi());
	}
}


我们在maven02目录下运行命令mvn compile

会发现报错


提示com.imaven.maven01.model不存在,这是因为我们没有把maven01 生成的jar放到maven的仓库中


仓库的概念后面再讲


我们进入maven01目录运行 mvn install命令就可以把maven01生成的jar放大仓库中

然后我们改一下Maven02中的pom.xml文件,加入maven01的坐标


坐标的概念我们后面再讲


然后我们在输入 mvn compile 成功


4.6

mvn archetype:generate 自动创建目录

用这个目录结构不用我们自己一个一个创建了





猜你喜欢

转载自blog.csdn.net/jk823394954/article/details/78894521