欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

maven的使用(基础1)

程序员文章站 2022-03-13 11:00:12
恢复内容开始 这是我第一次写博客,这个想法源于我的师傅对我的建议,一是与大家一起进步,二是让自己养成总结的好习惯。 “如果你步入的maven的世界,你便打开了Java的另一扇大门”。 这篇文章是面向没有接触过maven的同学们,对于maven玩的很溜的,请指出该文章的不足。 1.什么是maven? ......

---恢复内容开始---

 

 

  这是我第一次写博客,这个想法源于我的师傅对我的建议,一是与大家一起进步,二是让自己养成总结的好习惯。

  “如果你步入的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下载页面

  下载完成后,点击解压到指定的文件夹。解压完成后还没完...还要进行环境变量的配置。

  maven的使用(基础1)

  将maven安装的目录路径配置到环境变量,并给变量起名字(这是为了在以后升级时,仅将此处路径更改即可,而不必改动PATH路径的变量,我们要充分利用计算机内变量这一机制,这样可以大量减少我们的操作)。

  maven的使用(基础1)

  将变量名配置到PATH的值内,这是为了无论我们在哪个位置都可以使用maven指令。接下来我们随手打开cmd,输入mvn -v,这是查看maven的版本,同时也是看一下我们环境变量是否配置成功。如果提示not found,就表示没有成功,自己再好好琢磨一下吧。

  如果配置成功,我们再dos窗口输入mvn help:system,这是打印所有java系统属性和环境变量,在这里是为了让maven第一次运行一个任务,将maven在你的计算机上能够有一个完整的结构。运行完之后,你的个人账户的所有应用配置文件夹(也就是C:\Users\%uname%\)下,会出现~.m2文件夹,这个就是maven在你电脑上,属于你的maven配置的文件夹。

  接下来我们来到你的%MAVEN_HOME%\config目录里,你会看到这些:

  maven的使用(基础1)

  其中,settings.xml将会时我们日后经常访问的文件,它时maven的配置文件,maven的设置全部来自该配置文件的参数配置。我们刚刚接触maven,我们只需对它来个初步设置,具体的其他设置我们日后再议。接下来我们将它复制到C:\Users\%uname%\.m2下,然后打开它,你会看到200~300行的代码,我们初学者只需添加一行代码即可:

  maven的使用(基础1)

  上面已注释的代码说的很清楚,这个是maven在你计算机的本地仓库(就是项目所需的依赖在本地计算机的储存位置)的配置位置,默认在与该配置文件所在文件夹内的\repository文件夹内。而我不喜欢如此大的文件放在小小的C盘里,所以放到了D盘。到这里,我们maven的安装就完成了。

 

4.maven初体验

  我们使用Myeclipse创建一个maven项目,(Myeclipse已集成maven),只需在配置里面把maven设置一下即可

   maven的使用(基础1)

  将它设置为自己安装的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的使用(基础1)

  这是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,会看到:

  maven的使用(基础1)

  然后我们打开项目文件夹下的\target文件夹,会看到生成:

  maven的使用(基础1)

  其中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,可见:

  maven的使用(基础1)

  可以执行了。

 

 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下载页面

  下载完成后,点击解压到指定的文件夹。解压完成后还没完...还要进行环境变量的配置。

  maven的使用(基础1)

  将maven安装的目录路径配置到环境变量,并给变量起名字(这是为了在以后升级时,仅将此处路径更改即可,而不必改动PATH路径的变量,我们要充分利用计算机内变量这一机制,这样可以大量减少我们的操作)。

  maven的使用(基础1)

  将变量名配置到PATH的值内,这是为了无论我们在哪个位置都可以使用maven指令。接下来我们随手打开cmd,输入mvn -v,这是查看maven的版本,同时也是看一下我们环境变量是否配置成功。如果提示not found,就表示没有成功,自己再好好琢磨一下吧。

  如果配置成功,我们再dos窗口输入mvn help:system,这是打印所有java系统属性和环境变量,在这里是为了让maven第一次运行一个任务,将maven在你的计算机上能够有一个完整的结构。运行完之后,你的个人账户的所有应用配置文件夹(也就是C:\Users\%uname%\)下,会出现~.m2文件夹,这个就是maven在你电脑上,属于你的maven配置的文件夹。

  接下来我们来到你的%MAVEN_HOME%\config目录里,你会看到这些:

  maven的使用(基础1)

  其中,settings.xml将会时我们日后经常访问的文件,它时maven的配置文件,maven的设置全部来自该配置文件的参数配置。我们刚刚接触maven,我们只需对它来个初步设置,具体的其他设置我们日后再议。接下来我们将它复制到C:\Users\%uname%\.m2下,然后打开它,你会看到200~300行的代码,我们初学者只需添加一行代码即可:

  maven的使用(基础1)

  上面已注释的代码说的很清楚,这个是maven在你计算机的本地仓库(就是项目所需的依赖在本地计算机的储存位置)的配置位置,默认在与该配置文件所在文件夹内的\repository文件夹内。而我不喜欢如此大的文件放在小小的C盘里,所以放到了D盘。到这里,我们maven的安装就完成了。

 

4.maven初体验

  我们使用Myeclipse创建一个maven项目,(Myeclipse已集成maven),只需在配置里面把maven设置一下即可

   maven的使用(基础1)

  将它设置为自己安装的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的使用(基础1)

  这是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,会看到:

  maven的使用(基础1)

  然后我们打开项目文件夹下的\target文件夹,会看到生成:

  maven的使用(基础1)

  其中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,可见:

  maven的使用(基础1)

  可以执行了。

 

 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