Maven学习(一):maven基础
来源:互联网 发布:微三云 源码 编辑:程序博客网 时间:2024/05/29 08:10
一、安装(前提是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 {@Testpublic 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
3)
五、Eclipse 配置使用Maven
(一)配置
1、配置使用的 maven :使用自己本地下载的maven 的路径
2、配置 user setting :使用本地仓库的路径
- Maven学习(一):maven基础
- maven基础学习(一)
- maven学习一:maven基础介绍
- Maven基础学习(一)—Maven入门
- Maven基础学习(一)—Maven入门
- maven学习(一)
- Maven学习(一)
- maven学习(一)
- maven 学习(一)
- maven学习(一)
- Maven学习(一)
- maven 学习(一)
- Maven学习笔记(一)什么是Maven?
- Maven 学习总结(一)------Maven入门
- Maven学习(一)搭建Maven环境
- Maven 学习(一)搭建maven环境
- maven基础(一) maven常用命令
- maven基础点(一)
- 设计模式之享元模式
- 【C语言】学习笔记
- Java设计模式菜鸟系列(十一)迭代器模式建模与实现
- Atlassian-Confluence-5.1.4 centos 下安装破解版
- 顺丰总裁王卫:曾目空一切 佛教让我找到精神寄托
- Maven学习(一):maven基础
- 手动脱壳方法及原理
- leetcode Unique Paths II
- 博客插入新格式
- Oracle 卸载
- linkin大话设计模式--抽象工厂
- Ubuntu下安装配置Android SDK
- map的应用hdu1004
- 轮廓线dp初步