Maven学习(一):maven基础

一、安装(前提是java安装成功)

1、下载,并解压到固定文件夹中:如 D:\MyJAR\Use_JAR\apache-maven-3.2.3\bin

2、配置系统环境变量:新增M2_HOME : D:\MyJAR\Use_JAR\apache-maven-3.2.3 即解压的文件路径

3、配置path,把 M2_HOME 放入path变量值中或者也可以直接把地址放在 path 中,如:

4、验证安装成功:输入 mvn -v  命令,会显示maven的安装路径,使用的java版本及路径 和计算机的一些信息。

二、maven简单使用

(一)概览:

1、maven构建项目有必须要遵循的规定:创建如下目录:E:\maven\maven-01,在路径下新建 src 目录与 pom.xml文件。主程序必须放在src/main/java目录下,测试程序放在src/test/java目录下。pom.xml 与 src同级别。

(二)pom.xml文件

<?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.sam</groupId>
	<artifactId>maven-01</artifactId><!--模块-->
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>maven-base</name>
</project>

    1、groupId:定义了项目属于哪个组。这个组往往和项目所在的组织或公司存在关联,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp。
    2、artifactId:定义了当前Maven项目在组中唯一的ID,我们为这个Hello World项目定义artifactId为hello-world。

    3、version:指定了Hello World项目当前的版本。SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。

    4、综合理解:如 spring-framework 为一个groupId,而其中 spring-core 和 spring-aop为分别的两个 artifactId 。

(三)主代码

1、在 src/main/java 新建 com/sam/HelloMaven.java ,一般来说,代码的包名与 groupId 保持一致。如下:

package com.sam;
 
public class HelloMaven {
	public String sayHello(String name) {
			return "hello:" + name ; 
	}
}

2、使用maven自动编译:在 E:\maven\maven-01目录下 在输入命令 mvn compile 自动编译。

3、过程中 maven 会去中央仓库下载需要的jar包,编译成功以后,会在 E:\maven\maven-01 目录下自动新建 target/ 目录,编译好的class文件会在 E:\maven\maven-01\target\classes\com\sam\HelloMaven.class 。

(四)测试代码

1、在 E:\maven\maven-01\src\test\java\com\sammy 中新建 TestHelloMaven.java 测试类。

package com.sammy;
import com.sam.*;
import org.junit.*;
import static org.junit.Assert.*;
 
 
public class TestHelloMaven {
 
	@Test
	public void testSayHello() {
	
		HelloMaven hm = new HelloMaven();
		String str = hm.sayHello("maven");
		assertEquals(str,"hello:maven");
		
	}
 
}
2、需要用到 junit ,使用 maven 不需要去导入jar 包,只需要修改pom.xml文件即可。
<?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.sam.maven</groupId>
	<artifactId>maven_ch01</artifactId><!--模块-->
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>maven-base</name>
	
	<!--依赖的jar包-->
	<dependencies>
		<dependency>
            <groupId>junit</groupId><!--坐标-->
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
	</dependencies>
	
</project>

3、编译测试:在 E:\maven\maven-01目录下 在输入命令 mvn test 会自动下载依赖的jar包,并进行单元测试。

4、测试类的 class 文件与测试生成的测试报告都在 target 目录下。

(五)依赖Jar 包的使用

1、用到的一些命令:

1)mvn clean :会清空 /target 文件夹及其内容。

2)、mvn package: 命令可以把项目打成 jar 包,并保存在 /target 文件夹内(先编译、再测试、后打包)。如下生成的 ja r包为 maven-01-0.0.1-SNAPSHOT.jar :

3)mvn install 安装,即把自己打好的包,放入本地仓库,共别人使用。

3、现在可以再新建一个项目 maven-02,让它依赖于刚刚生成的 maven-01-0.0.1-SNAPSHOT.jar 。

1)新建工程并新建主代码和pom.xml文件: E:\maven\maven-02\src\main\java\com\sam\maven\Hello.java 类

package com.sam.maven;
 
import com.sam.HelloMaven;
 
public class Hello {
	public String say(String name) {
	
		HelloMaven hm = new HelloMaven();
		return hm.sayHello(name);
	}
 
}
 
<?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.sam</groupId>
	<artifactId>maven-02</artifactId><!--模块-->
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>maven-base</name>
	
	<!--依赖的jar包-->
	<dependencies>
		<dependency>
            <groupId>junit</groupId><!--坐标-->
            <artifactId>junit</artifactId>
            <version>4.10</version>
			<scope>test<scope>
        </dependency>
	</dependencies>
	
</project>

2、由于依赖于HelleoMaven.java 类,需要修改pom文件,加入依赖的jar 包。

<?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.sam</groupId>
	<artifactId>maven-02</artifactId><!--模块-->
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>
	<name>maven-base</name>
	
	<!--依赖的jar包-->
	<dependencies>
		<dependency>
            <groupId>junit</groupId><!--坐标-->
            <artifactId>junit</artifactId>
            <version>4.10</version>
			<scope>test</scope>
        </dependency>
		
		<!--加入依赖的HelloMaven Jar 包
			这边的配置就是HelloMaven那个工程的pom配置
		
		-->	
		<dependency>
            <groupId>com.sam</groupId>
            <artifactId>maven-01</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
		
	</dependencies>
	
 
	
</project>

3、利用 mvn install 把依赖的工程放入本地仓库(D:\MyMavenRepository\repository\com\sam\maven-01\0.0.1-SNAPSHOT\maven-01-0.0.1-SNAPSHOT.jar)。(默认在个人文件夹下的.m2文件夹下)

4、在 E:\maven\maven-02 下 mvn compile 编译即可通过。

三、maven 的一些命令:

mvn -v  测试maven是否安装成功

mvn compile  自动编译,存放在/target文件中

mvn test 测试

mvn clean 清空

mvn package 先编译,后测试,然后打jar包

mvn install 安装,即把自己打好的包,放入本地仓库,共别人使用。

mvn clean install 一起使用

mvn archetype: genetate  搭建骨架

四、maven 的仓库

(一)中央仓库

1、maven中央仓库(有很多中央仓库):地址之一为:https://repo.maven.apache.org/maven2

2、配置的地址:D:\MyJAR\Use_JAR\apache-maven-3.2.3\lib\maven-model-builder-3.2.3.jar\org\apache\maven\model\pom-4.0.0.xml。

<span style="font-family:Arial;font-size:18px;">  <repositories>
    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories></span>

3、中央工厂的地址:https://repo.maven.apache.org/maven2

(二)本地仓库

1、默认的本地maven仓库(在conf/settings.xml文件中):默认为/我的文档/.m2/repository中。

2、自定义本地仓库

1)、修改conf/setings.xml文件中 <localRepository> 元素

2)、复制一份配置放入自己的目标文件夹中D:\MyMavenRepository\repository\下

五、maven工程结构

1、底层:

1)src文件夹:

2)target文件夹

3)pom.xml:

2、src:

1)main: /java/(package....):java代码

2)test: /java/(package....):测试代码

3、target:

1)classes:class文件
2)依赖包:

4、maven 骨架

1)命令:mvn archetype: genetate  搭建骨架,需要选择版本,依次填写 groupId等信息, 即建立如上的工程结构。

2)也可以这么一起使用: mvn archetype:create

 -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp

猜你喜欢

转载自blog.csdn.net/laomumu1992/article/details/85107745
今日推荐