maven的使用(基础1)
---恢复内容开始---
这是我第一次写博客,这个想法源于我的师傅对我的建议,一是与大家一起进步,二是让自己养成总结的好习惯。
“如果你步入的maven的世界,你便打开了Java的另一扇大门”。
这篇文章是面向没有接触过maven的同学们,对于maven玩的很溜的,请指出该文章的不足。
1.什么是maven? |
2.为什么使用maven? |
3.maven的安装。 |
4.maven初体验。 |
5.maven的基本指令。 |
1.什么是maven?
maven就是一种项目对象模型(POM),可以通过一小段描述信息来管理项目的构建。说白了就是通过一个配置文件管理整个项目的build。它是一个主要服务于Java平台,出自Apach组织的开源的牛逼项目。主要功能是项目构建、依赖管理、项目信息管理。具体关于maven的非技术历史,这里不多说,自行百度。
2.为什么使用maven?
因为maven是一款很强大的构建工具,能够帮我们自动化构建过程,从清理、编译、测试、生成报告、打包、部署等等,如果我们纯手动,会很浪费时间的,面向对象编程的优点在于模块化,提高复用性。那么maven就是这一系列操作的封装(我是这样认为的,如有不恰当之处,请指出),如果需要做这些操作,我们只需一个指令,maven就可以替我们完成这一系列操作,从而节省大量无意义的、机械的动作,提高编程效率,而不再是我们进行重复的设计,重复的编码,重复的文档 ......(此处省略n+1个文字,没错,maven就是这么强大)
3.maven的安装。
下载完成后,点击解压到指定的文件夹。解压完成后还没完...还要进行环境变量的配置。
将maven安装的目录路径配置到环境变量,并给变量起名字(这是为了在以后升级时,仅将此处路径更改即可,而不必改动PATH路径的变量,我们要充分利用计算机内变量这一机制,这样可以大量减少我们的操作)。
将变量名配置到PATH的值内,这是为了无论我们在哪个位置都可以使用maven指令。接下来我们随手打开cmd,输入mvn -v,这是查看maven的版本,同时也是看一下我们环境变量是否配置成功。如果提示not found,就表示没有成功,自己再好好琢磨一下吧。
如果配置成功,我们再dos窗口输入mvn help:system,这是打印所有java系统属性和环境变量,在这里是为了让maven第一次运行一个任务,将maven在你的计算机上能够有一个完整的结构。运行完之后,你的个人账户的所有应用配置文件夹(也就是C:\Users\%uname%\)下,会出现~.m2文件夹,这个就是maven在你电脑上,属于你的maven配置的文件夹。
接下来我们来到你的%MAVEN_HOME%\config目录里,你会看到这些:
其中,settings.xml将会时我们日后经常访问的文件,它时maven的配置文件,maven的设置全部来自该配置文件的参数配置。我们刚刚接触maven,我们只需对它来个初步设置,具体的其他设置我们日后再议。接下来我们将它复制到C:\Users\%uname%\.m2下,然后打开它,你会看到200~300行的代码,我们初学者只需添加一行代码即可:
上面已注释的代码说的很清楚,这个是maven在你计算机的本地仓库(就是项目所需的依赖在本地计算机的储存位置)的配置位置,默认在与该配置文件所在文件夹内的\repository文件夹内。而我不喜欢如此大的文件放在小小的C盘里,所以放到了D盘。到这里,我们maven的安装就完成了。
4.maven初体验
我们使用Myeclipse创建一个maven项目,(Myeclipse已集成maven),只需在配置里面把maven设置一下即可
将它设置为自己安装的maven,尽量不要使用自带maven(集成不代表自带)。
然后File > New > Other > Maven > Maven Object ,先不要点击Create a simple project,那个以后再议,Next,然后选择maven-archetype-quickstart,在这里可以讲Archetype理解成Maven项目的模板,例如maven-archetype-quickstart就是最简单的Maven项目模板,只需提供基本的元素,如groupId,artifactId,version等,它就能生成项目的基本结构及POM文件。接下来的groupId,artifactId,version是maven的基本元素。
groupId:指的是你属于哪些组织,在这里你可以写你的名字+域名归属的倒置。
artifactId:指的是该项目的id。
version:该项目的版本。
然后就可以编辑pom.xml的代码了,如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <!-- 本项目基本坐标 --> 7 <groupId>cn.zuoyu.fistmaven</groupId> 8 <artifactId>hello-maven</artifactId> 9 <version>0.0.1-SNAPSHOT</version> 10 <packaging>jar</packaging> 11 12 <name>hello-maven</name> 13 <url>http://maven.apache.org</url> 14 15 <properties> 16 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 17 </properties> 18 19 <build> 20 <plugins> 21 22 <!-- 控制java版本 --> 23 <plugin> 24 <groupId>org.apache.maven.plugins</groupId> 25 <artifactId>maven-compiler-plugin</artifactId> 26 <version>2.3.2</version> 27 <configuration> 28 <source>1.8</source> 29 <target>1.8</target> 30 </configuration> 31 </plugin> 32 33 </plugins> 34 </build> 35 36 <dependencies> 37 <dependency> 38 <groupId>junit</groupId> 39 <artifactId>junit</artifactId> 40 <version>4.7</version> 41 <scope>test</scope> 42 </dependency> 43 </dependencies> 44 </project>
然后编写一个实体类和一个测试类,编写完之后,我们在该项目的目录下打开dos窗口,输入mvn test,可见:
这是maven的测试,成功!
接下来用maven制作jar包,当然前提是给项目加一个main方法,然后再pom.xml下加入一下代码,路径是main方法的路径,不要弄错了:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.6</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>cn.zuoyu.fistmaven.hello_maven.App</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin>
这个是maven里的maven-shade-plugin插件,用于将项目做成可执行的jar文件。
我们再dos里输入mvn clean install,会看到:
然后我们打开项目文件夹下的\target文件夹,会看到生成:
其中hello-maven-0.0.1-SNAPSHOT.jar是带有Main-Class的可运行jar文件,而original-hello-maven-0.0.1-SNAPSHOT.jar是原始的可供其他项目使用的jar文件。
如果我们在该文件夹打开dos输入java -jar hello-maven-0.0.1-SNAPSHOT.jar,可见:
可以执行了。
5.maven的基本指令。
1. 编译测试代码:
mvn test-compile
2. 运行测试:
mvn test
3. 产生site:
mvn site
4. 打包:
mvn package
5. 在本地Repository中安装jar:
mvn install
6. 清除产生的项目:
mvn clean
7. 生成eclipse项目:
mvn eclipse:eclipse
8. 生成idea项目:
mvn idea:idea
9. 组合使用goal命令,如只打包不测试:
mvn -Dtest package
10. 编译测试的内容:
mvn test-compile
11. 只打jar包:
mvn jar:jar
12. 只测试而不编译,也不测试编译:
mvn test -skipping compile -skipping test-compile
13. 清除eclipse的一些系统设置:
mvn eclipse:clean
14.查看当前项目已被解析的依赖:
mvn dependency:list
ok了,今天的maven使用教程就到此为止了!!!
如有不当地方可以邮件给我:zuoyuip@qq.com
---恢复内容结束---
这是我第一次写博客,这个想法源于我的师傅对我的建议,一是与大家一起进步,二是让自己养成总结的好习惯。
“如果你步入的maven的世界,你便打开了Java的另一扇大门”。
这篇文章是面向没有接触过maven的同学们,对于maven玩的很溜的,请指出该文章的不足。
1.什么是maven? |
2.为什么使用maven? |
3.maven的安装。 |
4.maven初体验。 |
5.maven的基本指令。 |
1.什么是maven?
maven就是一种项目对象模型(POM),可以通过一小段描述信息来管理项目的构建。说白了就是通过一个配置文件管理整个项目的build。它是一个主要服务于Java平台,出自Apach组织的开源的牛逼项目。主要功能是项目构建、依赖管理、项目信息管理。具体关于maven的非技术历史,这里不多说,自行百度。
2.为什么使用maven?
因为maven是一款很强大的构建工具,能够帮我们自动化构建过程,从清理、编译、测试、生成报告、打包、部署等等,如果我们纯手动,会很浪费时间的,面向对象编程的优点在于模块化,提高复用性。那么maven就是这一系列操作的封装(我是这样认为的,如有不恰当之处,请指出),如果需要做这些操作,我们只需一个指令,maven就可以替我们完成这一系列操作,从而节省大量无意义的、机械的动作,提高编程效率,而不再是我们进行重复的设计,重复的编码,重复的文档 ......(此处省略n+1个文字,没错,maven就是这么强大)
3.maven的安装。
下载完成后,点击解压到指定的文件夹。解压完成后还没完...还要进行环境变量的配置。
将maven安装的目录路径配置到环境变量,并给变量起名字(这是为了在以后升级时,仅将此处路径更改即可,而不必改动PATH路径的变量,我们要充分利用计算机内变量这一机制,这样可以大量减少我们的操作)。
将变量名配置到PATH的值内,这是为了无论我们在哪个位置都可以使用maven指令。接下来我们随手打开cmd,输入mvn -v,这是查看maven的版本,同时也是看一下我们环境变量是否配置成功。如果提示not found,就表示没有成功,自己再好好琢磨一下吧。
如果配置成功,我们再dos窗口输入mvn help:system,这是打印所有java系统属性和环境变量,在这里是为了让maven第一次运行一个任务,将maven在你的计算机上能够有一个完整的结构。运行完之后,你的个人账户的所有应用配置文件夹(也就是C:\Users\%uname%\)下,会出现~.m2文件夹,这个就是maven在你电脑上,属于你的maven配置的文件夹。
接下来我们来到你的%MAVEN_HOME%\config目录里,你会看到这些:
其中,settings.xml将会时我们日后经常访问的文件,它时maven的配置文件,maven的设置全部来自该配置文件的参数配置。我们刚刚接触maven,我们只需对它来个初步设置,具体的其他设置我们日后再议。接下来我们将它复制到C:\Users\%uname%\.m2下,然后打开它,你会看到200~300行的代码,我们初学者只需添加一行代码即可:
上面已注释的代码说的很清楚,这个是maven在你计算机的本地仓库(就是项目所需的依赖在本地计算机的储存位置)的配置位置,默认在与该配置文件所在文件夹内的\repository文件夹内。而我不喜欢如此大的文件放在小小的C盘里,所以放到了D盘。到这里,我们maven的安装就完成了。
4.maven初体验
我们使用Myeclipse创建一个maven项目,(Myeclipse已集成maven),只需在配置里面把maven设置一下即可
将它设置为自己安装的maven,尽量不要使用自带maven(集成不代表自带)。
然后File > New > Other > Maven > Maven Object ,先不要点击Create a simple project,那个以后再议,Next,然后选择maven-archetype-quickstart,在这里可以讲Archetype理解成Maven项目的模板,例如maven-archetype-quickstart就是最简单的Maven项目模板,只需提供基本的元素,如groupId,artifactId,version等,它就能生成项目的基本结构及POM文件。接下来的groupId,artifactId,version是maven的基本元素。
groupId:指的是你属于哪些组织,在这里你可以写你的名字+域名归属的倒置。
artifactId:指的是该项目的id。
version:该项目的版本。
然后就可以编辑pom.xml的代码了,如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4 <modelVersion>4.0.0</modelVersion> 5 6 <!-- 本项目基本坐标 --> 7 <groupId>cn.zuoyu.fistmaven</groupId> 8 <artifactId>hello-maven</artifactId> 9 <version>0.0.1-SNAPSHOT</version> 10 <packaging>jar</packaging> 11 12 <name>hello-maven</name> 13 <url>http://maven.apache.org</url> 14 15 <properties> 16 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 17 </properties> 18 19 <build> 20 <plugins> 21 22 <!-- 控制java版本 --> 23 <plugin> 24 <groupId>org.apache.maven.plugins</groupId> 25 <artifactId>maven-compiler-plugin</artifactId> 26 <version>2.3.2</version> 27 <configuration> 28 <source>1.8</source> 29 <target>1.8</target> 30 </configuration> 31 </plugin> 32 33 </plugins> 34 </build> 35 36 <dependencies> 37 <dependency> 38 <groupId>junit</groupId> 39 <artifactId>junit</artifactId> 40 <version>4.7</version> 41 <scope>test</scope> 42 </dependency> 43 </dependencies> 44 </project>
然后编写一个实体类和一个测试类,编写完之后,我们在该项目的目录下打开dos窗口,输入mvn test,可见:
这是maven的测试,成功!
接下来用maven制作jar包,当然前提是给项目加一个main方法,然后再pom.xml下加入一下代码,路径是main方法的路径,不要弄错了:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.6</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>cn.zuoyu.fistmaven.hello_maven.App</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin>
这个是maven里的maven-shade-plugin插件,用于将项目做成可执行的jar文件。
我们再dos里输入mvn clean install,会看到:
然后我们打开项目文件夹下的\target文件夹,会看到生成:
其中hello-maven-0.0.1-SNAPSHOT.jar是带有Main-Class的可运行jar文件,而original-hello-maven-0.0.1-SNAPSHOT.jar是原始的可供其他项目使用的jar文件。
如果我们在该文件夹打开dos输入java -jar hello-maven-0.0.1-SNAPSHOT.jar,可见:
可以执行了。
5.maven的基本指令。
1. 编译测试代码:
mvn test-compile
2. 运行测试:
mvn test
3. 产生site:
mvn site
4. 打包:
mvn package
5. 在本地Repository中安装jar:
mvn install
6. 清除产生的项目:
mvn clean
7. 生成eclipse项目:
mvn eclipse:eclipse
8. 生成idea项目:
mvn idea:idea
9. 组合使用goal命令,如只打包不测试:
mvn -Dtest package
10. 编译测试的内容:
mvn test-compile
11. 只打jar包:
mvn jar:jar
12. 只测试而不编译,也不测试编译:
mvn test -skipping compile -skipping test-compile
13. 清除eclipse的一些系统设置:
mvn eclipse:clean
14.查看当前项目已被解析的依赖:
mvn dependency:list
ok了,今天的maven使用教程就到此为止了!!!
如有不当地方可以邮件给我:zuoyuip@qq.com