项目最近开始使用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. Git在windows环境下的使用教程

    前言 安装 配置 关于git使用的几个问题 后记 关于代码托管,以前用过vss和svn,看博客或论坛的时候,经常有人提到github,有很多著名的开源软件都托管在github,想来肯定不错(莫笑),当 ...

  2. Hdu428 漫步校园 2017-01-18 17:43 88人阅读 评论(0) 收藏

    漫步校园 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submissi ...

  3. This problem will occur when running in 64 bit mode with the 32 bit Oracle client components installed(在64位模式下运行安装了32位的Oracle客户端组件时,会发生此问题)

    部署win服务时出现下面的问题: 在事件查看器中看到如下错误: 日志名称: Application来源: ***调度服务日期: 2014/5/21 12:53:21事件 ID: 0任务类别: 无级别: ...

  4. Android 文件模式

    在Android文件模式中,非常欣赏Android统一资源管理模式的思想: 分为系统应用APP(以包名为唯一标识) 和普通应用APP(以包名为唯一标识) 每个包名下有自己的 cache files d ...

  5. 如何充分利用 Windows Phone 高清屏幕

    Nokia 最近发布两款6寸大屏手机:Lumia 1520 和 Lumia 1320.为了支持这种设备 WP 升级了操作系统GDR3 支持了 1080P 的高清分辨率(1520),虽然GER3 是提供 ...

  6. Windows下常用的100个CMD指令以及常见的操作

    gpedit.msc—–组策略 2. sndrec32——-录音机 3. Nslookup——-IP地址侦测器 ,是一个 监测网络中 DNS 服务器是否能正确实现域名解析的命令行工具. 它在 Wind ...

  7. lnmp下thinkphp 500错误指南

    先在php.ini打开报错,display_errors: on: 如果是open_basedir的问题,修改nginx的配置文件fastcgi.conf 将fastcgi_param PHP_ADM ...

  8. BZOJ4825: [Hnoi2017]单旋(Splay)

    题面 传送门 题解 调了好几个小时--指针太难写了-- 因为只单旋最值,我们以单旋\(\min\)为例,那么\(\min\)是没有左子树的,而它旋到根之后,它的深度变为\(1\),它的右子树里所有节点 ...

  9. Flask 实现 WebSocket 通讯---群聊和私聊

    一.WebSocket介绍 WebSocket是一种在单个TCP连接实现了服务端和客户端进行双向文本或二进制数据通信的一种通信的协议. WebSocket使得客户端和服务器之间的数据交换变得更加简单, ...

  10. vue的无缝滚动插件vue-seamless-scroll的安装与使用

    npm安装地址 https://www.npmjs.com/package/vue-seamless-scroll 命令行执行: npm install vue-seamless-scroll --s ...