Maven 学习笔记(二)
项目最近开始使用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 学习笔记(二)的更多相关文章
- Maven学习笔记二
依赖范围 <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api&l ...
- Maven学习笔记(二) :Maven的安装与配置
在Windows上安装Maven: 1. 首先检查安装JDK 通过命令行运行命令:echo %JAVA_HOME%和 java -version,能够查看当前java的安装文件夹及java的 ...
- maven学习笔记二(了解maven的基本命令)
maven常用的命令 mvn archetype:create 创建Maven项目 mvn compile 编译源代码 mvn deploy 发布项目 mvn test-compile 编译测试源代码 ...
- Maven学习笔记—仓库
Maven仓库 1 什么是Maven仓库 在Maven中,任何一个依赖.插件或者项目构建的输出,都可以成为构件,而Maven通常在某个位置统一的存储所有Maven项目共享的构件,这个统一的位置就是Ma ...
- Maven 学习笔记(二)
前面一文——Maven 学习笔记(一)中已经提到了 pom 的大部分配置,Maven 本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给创建来完成,每一个任务都会对应一个插件 ...
- Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试
现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...
- Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试
现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...
- JDBC学习笔记二
JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...
- ZooKeeper学习笔记二:API基本使用
Grey ZooKeeper学习笔记二:API基本使用 准备工作 搭建一个zk集群,参考ZooKeeper学习笔记一:集群搭建. 确保项目可以访问集群的每个节点 新建一个基于jdk1.8的maven项 ...
随机推荐
- const define static extern 关键词详解
const const关键词并不能把一个变量变成一个常量, 在符号前加上const表示这个符号不能被赋值, 即他的值对这个符号来说是只读的, 但并不代表这个值不能用其他方法去改变. 通过下面的例子就能 ...
- day11(多线程,唤醒机制,生产消费者模式,多线程的生命周期)
A:进程: 进程指正在运行的程序.确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能. B:线程: 线程是进程中的一个执行单元,负责当前进程中程序的执 ...
- CDialog
对话框和对话框类CDialog 对话框经常被使用,因为对话框可以从模板创建,而对话框模板是可以使用资源编辑器方便地进行编辑的. 模式和无模式对话框 对话框分两种类型,模式对话框和无模式对话框. 模式对 ...
- Android操作HTTP实现与服务器通信
(转自http://www.cnblogs.com/hanyonglu/archive/2012/02/19/2357842.html) 本示例以Servlet为例,演示Android与Servlet ...
- PAT甲 1007. Maximum Subsequence Sum (25) 2016-09-09 22:56 41人阅读 评论(0) 收藏
1007. Maximum Subsequence Sum (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Y ...
- A Good Story for Great Friends
There once was a little girl who had a bad temper. Her mother gave her a bag of nails and told her t ...
- ibatIs中的isNotNull、isEqual、isEmpty
isNull判断property字段是否是null,用isEmpty更方便,包含了null和空字符串 例子一:isEqual相当于equals,数字用得多些,一般都是判断状态值<isEqual ...
- cocos2dx lua 图片去色shader
function FreeCardTool:setNodeGray(node) local vertShaderByteArray = "\n".. "attribute ...
- Android-LoaderManager异步加载数据库数据
LoaderManager异步加载数据库数据,是在(Activity/fragment/其他UI等) 加载大量的本地Database库表数据,由于数据大在加载过程中会导致UI线程阻塞,导致用户体验不好 ...
- 设计模式之单件模式(Singleton Pattern)
一.单件模式是什么? 单件模式也被称为单例模式,它的作用说白了就是为了确保“该类的实例只有一个” 单件模式经常被用来管理资源敏感的对象,比如:数据库连接对象.注册表对象.线程池对象等等,这种对象如果同 ...