项目最近开始使用maven去管理项目啦,说真的对于maven是一窍不通啊,今天和同事在回家的路上聊天的时候同事说他去第一家公司面试的时候人家问他 maven 怎么打包,当时我就懵逼了,因为我也不知道啊!赶紧问了下,答案是 maven package。其实想想不会那么简单。今天回来赶紧学习一下。

安装maven  

  通过查询一些资料就开始我的第一个maven项目了,首先当然是去maven的官网下载maven的压缩包,本人用的是3.3.9。然后配置下环境变量。完后检查下,然后打开dos窗口使用 mvn -version 查看环境变量是否配置正确。如何配置环境变量,我就不罗嗦了!这都不会就好好反省下吧!

可以看到会将我们的系统版本 java版本都打印出来,奇怪的是哥们用的是windows10,居然显示 8.1,什么鬼?

第一个maven项目

  网上有很多的教程都是手把手教我们在IDE中创建一个maven项目,哥们发现其实我们可以使用maven命令为我们创建一个demo项目。我们使用 archetype:generate 命令为我们自动创建一个demo项目。这里需要提一下就是,由于国内网络有所限制,因此在下载一些需要的包的时候非常慢,这里告诉大家我们可以手都的更改maven的配置文件(maven目录/conf/setting.xml) 这里修改镜像地址。本人使用了阿里的镜像仓库:

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

  注意:这里填了central或者通配符“*”后,所有请求中央仓库的请求都会转到镜像仓库中

  在下载过程中然我们选择下载的类型,本人选择的是quickstart,当然你可以根据选择选取你需要的案例。其次还有一些参数如:-DgroupId=com.jeff.maven01--项目包名 -DartifactId=maven01--模块名 -Dvertsion=0.0.1SNAPSHOT --版本号 -Dpackage=com.jeff.maven01 --包名 输入完毕后就下载了一个demo项目。

编译项目

  我们已经有一个demo项目了,你可以打开这个项目看下里面是做了什么事情,我就不告诉你了,免得你偷懒不去操作。接下来我们对这个项目进行编译 使用 mvn compile 对其进行编译,我在使用这个命令进行编译的时候遇到这样一个错误信息 No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?。在网上查询了一些资料都是通过IDE进行配置的项目,没办法,想了好久,最后通过把环境变量中的JRE的配置删除了,然后ok了!!!

  这时候你可以去看下你的项目目录下会有一个 target 目录,其子目录下有我们喜欢的class文件了。

测试

  可以通过使用 mvn test 命令进行测试。

 这时候会在target 目录下为我们生成一个测试报告的文件和测试的class文件。

打包

  使用 mvn package 对项目进行打包。

  这时候看以看到就为我们生成了该项目的jar文件了。

  到此如何构建第一个 maven 项目和一些经常用到的命令大家都应该会操作了,但是对于maven的学习远远不止这些,本人还会陆续的更新,由于第一次学习有什么不对的地方,往大家指出来!共同进步!

  洗碗去喽!!!

Maven 学习笔记(二)的更多相关文章

  1. Maven学习笔记二

    依赖范围 <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api&l ...

  2. Maven学习笔记(二) :Maven的安装与配置

    在Windows上安装Maven:    1.  首先检查安装JDK 通过命令行运行命令:echo %JAVA_HOME%和 java  -version,能够查看当前java的安装文件夹及java的 ...

  3. maven学习笔记二(了解maven的基本命令)

    maven常用的命令 mvn archetype:create 创建Maven项目 mvn compile 编译源代码 mvn deploy 发布项目 mvn test-compile 编译测试源代码 ...

  4. Maven学习笔记—仓库

    Maven仓库 1 什么是Maven仓库 在Maven中,任何一个依赖.插件或者项目构建的输出,都可以成为构件,而Maven通常在某个位置统一的存储所有Maven项目共享的构件,这个统一的位置就是Ma ...

  5. Maven 学习笔记(二)

    前面一文——Maven 学习笔记(一)中已经提到了 pom 的大部分配置,Maven 本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给创建来完成,每一个任务都会对应一个插件 ...

  6. Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  7. Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  8. JDBC学习笔记二

    JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...

  9. ZooKeeper学习笔记二:API基本使用

    Grey ZooKeeper学习笔记二:API基本使用 准备工作 搭建一个zk集群,参考ZooKeeper学习笔记一:集群搭建. 确保项目可以访问集群的每个节点 新建一个基于jdk1.8的maven项 ...

随机推荐

  1. noip第9课作业

    1.    打印乘法表 [问题描述] 用for循环实现输出1至9的乘法表 [样例输出] 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4 ...

  2. VC++ 定制应用程序的外观

    一.在窗口创建之前改变窗口的大小和标题 要改变应用程序窗口的大小可以通过在PreCreatWindowl函数中修改CREATSTRUCT结构体变量成员的值 BOOL CMainFrame::PreCr ...

  3. 【图论】信手拈来的Prim,Kruskal和Dijkstra

    关于三个简单的图论算法 prim,dijkstra和kruskal三个图论的算法,初学者容易将他们搞混,所以放在一起了. prim和kruskal是最小生成树(MST)的算法,dijkstra是单源最 ...

  4. [FMX]在你的跨平台应用中使用剪贴板进行复制粘贴

    [FMX]在你的跨平台应用中使用剪贴板进行复制粘贴 2017-08-10 • Android.C++ Builder.Delphi.iOS.教程 • 暂无评论 • swish •浏览 516 次 VC ...

  5. 二、安装并配置Kubernetes Master节点

    1. 安装配置Master节点上的Kubernetes服务 1.1 安装Master节点上的Kubernetes服务 yum -y install kubernetes 1.2 修改kube-apis ...

  6. Web app制作细节:web app互动制作技巧

    Google .微软.苹果三大巨头紧锣密鼓地在web app的研发产品领域圈地设岗,并试图建立以自己为中心的”云“服务平台,企图在web app时代到来的时候充当霸主.本文将围绕web app的制作, ...

  7. android应用搬家的实现

    android手机上的应用搬家功能,具体的介绍和原理参考: 系统目录及应用搬家的研究 应用搬家的实现 这里主要是作为一个补充,因为上面两篇文章虽然讲的挺好的,但是给出的例子不能直接运行,还是需要一些准 ...

  8. DBCC--CHECKDB--结果收集

    --由宋沄剑提供 CREATE TABLE [dbo].[dbcc_history]( [Error] [int] NULL, [Level] [int] NULL, [State] [int] NU ...

  9. KeyChainWrapper - keychain简单使用

    1 keyChainWrapper是MRC代码,要禁用ARC -fno-objc-arc 2 要导入Security.framework框架 3 获得一个不变的UUID - (BOOL)applica ...

  10. Nginx + uWSGI 部署Django 项目,并实现负载均衡

    一.uWSGI服务器 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI ...