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的代码了,如下:
<?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>cn.zuoyu.fistmaven</groupId>
<artifactId>hello-maven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>hello-maven</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <build>
<plugins> <!-- 控制java版本 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin> </plugins>
</build> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
</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的代码了,如下:
<?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>cn.zuoyu.fistmaven</groupId>
<artifactId>hello-maven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>hello-maven</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <build>
<plugins> <!-- 控制java版本 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin> </plugins>
</build> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
</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的使用(基础1)的更多相关文章
- Maven 项目管理工具基础入门系列(二)
一.前言 在 Maven 项目管理工具基础知识系列(一) 这篇文章中,我们已经初步了解了 Maven,也知道了使用 Maven 作为项目管理工具的好处,特别是已经知道如何快速通过 Maven 构建 W ...
- maven简介及基础使用
一.Maven简介 Maven可译为"知识的积累"."专家",主要服务于基于Java平台的项目构建.依赖管理和项目信息管理. 1.Maven-项目构建工具 ...
- Maven 项目管理工具基础知识系列(一)
一.Maven 简介 Maven 中文意为 " 内行.专家 ",是 Apache 下的一个开源项目,属于纯 Java 开发,并且只是用来管理 Java项目的,它是一款项目管理工具, ...
- maven+dubbo+zookeeper 基础实例
1.maven 引入依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/ ...
- IntelliJ IDEA maven项目的基础配置
htt 选择编程风格File->Settings->Apprearance 配置maven路径,同样也是在settings Java Web项目配置 File->Project St ...
- 安装eclipse(tomcat配置maven搭建){Java基础之开发工具}
安装eclipse 1.下载eclipse-jee-neon-3-win32-x86_64 zip 百度云盘 解压 2. 下载JDK 官网 JDK 8 JDK电脑上环境变量配置 Path路径 % ...
- maven的一些基础命令
1.显示当前构建的实际pom,包括活动的Profile mvn help:effective-pom 2.打印出项目的世界settings,包含从全局的settings和用户级别settings继承的 ...
- maven学习整理-基础知识
1.maven认识 maven是一种自动化的构建工具,它主要解决的问题有: ①项目中的划分规则:原先我们用package或文件夹的形式来划分不同模块,导致在一个项目中存在大量的文件夹和包代码显得庞大: ...
- maven安装与基础配置
下载,安装 下载地址 https://maven.apache.org/ 解压安装包到安装路径 tar -zxvf apache-maven-3.8.1-bin.tar.gz -C /opt/ 配置P ...
- [liusy.api-SMJ]-创建工程范例 MAVEN archetype 学习阶段(一)
由于这个架构需要好多不同能力的工程,为了创建方便减少冗余,创建工程范例尤为重要 学习阶段: 参考资料 http://maven.apache.org/archetype/maven-archetype ...
随机推荐
- Linux显示查看您拥有的仓库
Linux显示查看您拥有的仓库 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ yum repolist all repolist: 0
- 存储过程 100w提交
create or replace procedure largedata_insert(ip_table_name in varchar2, --目标表 ip_table_column in v ...
- word文档的动态添加数据
解释:其实主要的思路就是先把word文档转化成xml格式的数据,然后在把xml格式的数据转化成字节流让程序来读取,最后在把字节流转化成xml格式的数据,然后在转化成word文档. poi工具也是这个思 ...
- httppost的用法(NameValuePair(简单名称值对节点类型)核心对象)
一,案例一 定义了一个list,该list的数据类型是NameValuePair(简单名称值对节点类型),这个代码多处用于Java像url发送Post请求.在发送post请求时用该list来存放参数. ...
- 浅谈JS中的浅拷贝与深拷贝
前端工程师应该都比较熟悉浅拷贝和深拷贝的概念,在日常业务代码的过程中,特别是做数据处理的时候,经常行的会遇到,比如如何在不修改原对象的基础上,重新生成一个一模一样的对象,加以利用,又或是,如何巧妙地运 ...
- 【原】spring boot添加cros全局过滤器
新增一个过滤器类并实现filter接口 public class CorsFilter implements Filter { final static org.slf4j.Logger logger ...
- POJ 2195 Going Home (费用流)
题面 On a grid map there are n little men and n houses. In each unit time, every little man can move o ...
- 基于socket实现的简单的聊天程序
记得八年前第一次使用socket做的一个五子棋程序,需要序列化棋子对象,传递到对方的电脑上. 一个偶然的机会,第二次使用socket做点事情.先看聊天服务器端的实现: 服务器端要实现以下功能: ...
- 11.C++-临时对象分析
首先来参考以下代码: #include <stdio.h> class Test { int mi; public: Test(int i) { mi = i; } Test() { Te ...
- Java集合基本概念及元素添加
Java容器类类库的用途是"保存对象", 并将其划分为两个不同的概念: (1)Collection: 一个独立元素的序列, 这些元素都服从一条或多条规则. List必须按照插入的顺 ...