《maven实战》笔记(2)----一个简单maven项目的搭建,测试和打包
参照《maven实战》在本地创建对应的基本项目helloworld,在本地完成后项目结构如下:

可以看到maven项目的骨架:
src/main/java(javaz主代码)
src/test/java(测试代码)
src/main/resuources(非java资源文件)
pom.xml
maven相关执行命令
mvn clean compile --》mvn clean test --》mvn clean package --》mvn clean install
首先cmd切换到项目根目录下:
mvn clean compile
clean: maven 清理输出目录target
compile:maven项目编译主代码
这时会将项目主代码编译至目录target/classes目录 例如:将helloworld.java文件编译成helloworld.class文件
mvn clean test
执行单元测试,测试之前,会先自动执行项目主资源处理,主代码编译,测试资源处理,测试代码编译等工作,这是maven生命周期的一个特征。
出现报错“请使用-source5或更高版本以启用注释”原因:maven的核心插件之一compiler插件默认只支持编译java1.3,因此需要配置该插件使其支持java5。
在pom.xml中添加如下配置

mvn clean package
项目打包,默认打包类型jar。执行此命令将项目主代码打包成一个xxx-1.0-SNAP-SHOT.jar的快照文件,该文件位于target/输出目录中。但是该快照并没有Main-class信息。
于是在pom.xml中添加maven-shade-plugin插件,以便生成可执行的jar。

再次打包 target目录下生成带有Main-Class信息的可运行jar helloworld-1.0.0-SNAPSHOT 和原始的jar: original-helloworld-1.0.0-SNAPSHOT
cmd执行命令即可进入main口,打印出我们的helloworld了!

mvn clean install
将项目输出jar安装到了本地仓库,只有构件被下载到本地仓库后,才能被所有的maven项目使用。
这么一系列命令完成一个简单maven项目的编译、测试、打包过程!
注意:在过程中遇到包下载失败的可能,由于在访问maven的中央仓库,有些jar包是下载不下来的,网络原因很多国外的网站,我们访问不了,这个时候在maven的settings配置文件中配置的是公司maven私服的地址,私服中已经包含了几乎所有的lib包,私服具体什么概念,先放置日后会进行理解,先参考同事的配置进行了修改,这样就能执行成功了!!
《maven实战》笔记(2)----一个简单maven项目的搭建,测试和打包的更多相关文章
- maven(04)--一个简单的项目
简单介绍 一个maven项目,使用hibernate框架,实现向mysql数据库中添加和获取操作,其他操作也是类似 如果你没有hibernate,那么也不要紧,这里主要介绍如何在一个maven项目中引 ...
- 学习笔记——Maven实战(八)常用Maven插件介绍(下)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
- Maven实战(八)——常用Maven插件介绍(下)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
- Spring Boot 揭秘与实战 自己实现一个简单的自动配置模块
文章目录 1. 实战的开端 – Maven搭建 2. 参数的配置 - 属性参数类 3. 真的很简单 - 简单的服务类 4. 自动配置的核心 - 自动配置类 5. spring.factories 不要 ...
- 用IntelliJ IDEA学习Spring--创建一个简单的项目
这段时间想学习一下Spring,其实之前学过Spring,只是有些忘记了.而且之前学的时候是适用eclipse学习的,现在好像对IntelliJ这个工具使用挺多的,现在就学习一下这个工具的用法,顺便复 ...
- how tomcat works 读书笔记(二)----------一个简单的servlet容器
app1 (建议读者在看本章之前,先看how tomcat works 读书笔记(一)----------一个简单的web服务器 http://blog.csdn.net/dlf123321/arti ...
- jmeter压力测试的简单实例+badboy脚本录制(一个简单的网页用户登录测试的结果)
JMeter的安装:在网上下载,在下载后的zip解压后,在bin目录下找到JMeter.bat文件,双击就可以运行JMeter. http://jmeter.apache.org/ 在使用jmeter ...
- Python实现一个简单三层神经网络的搭建并测试
python实现一个简单三层神经网络的搭建(有代码) 废话不多说了,直接步入正题,一个完整的神经网络一般由三层构成:输入层,隐藏层(可以有多层)和输出层.本文所构建的神经网络隐藏层只有一层.一个神经网 ...
- 学习笔记——Maven实战(四)基于Maven的持续集成实践
Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...
随机推荐
- 【CPU】记录当前嵌入式设备CPU 比较最高CPU 并打印出来
1.测试CPU,最高CPU,最低CPU,平均CPU,单个进程如wlan的CPU占比,脚本后面接的第一个参数是要打印cpu的次数,第二个是sleep多久,第三个参数是记录当前数据的路径path #!/b ...
- Gradle 的使用
gradle 工具类似于maven工具,但是gradle 减少了maven中的那种使用xml 中大量的配置文件来下载依赖的jar包.而gradle大大简化了,能够很快速的添加依赖.具体关于gradle ...
- 图像处理---视频<->图片
图像处理---视频<->图片 // 该程序实现视频和图片的相互转换. // Image_to_video()函数将一组图片合成AVI视频文件. // Video_to_image()函数将 ...
- YOLO---YOLOv3 with OpenCV 再使用
YOLO---YOLOv3 with OpenCV 再使用YOLOv3 with OpenCV官网 @ https://github.com/JackKoLing/opencv_deeplearnin ...
- HBuilderX 5+APP MUI 入门
这一套东西是用来开发app的,可以用html.js什么的写app然后给你打包就能安装到手机上,也可以轻易跨端(需要使用vue,然而我还没有熟练). HBuilder:一个敲代码的软件,敲前端代码超级方 ...
- Java集合--Map架构
概要 前面,我们已经系统的对List进行了学习.接下来,我们先学习Map,然后再学习Set:因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过 ...
- EF 多表联查方法
两个表的linq private DataContext dc; dc = new DataContext(); var heji = (from da in dc.q1 ...
- asp.net用sql数据库生成json字符串并显示出来
use Shop ,) )) insert into DictBase select '包装' UNION ALL select '价格' UNION ALL select '品牌' 工厂方法模式 I ...
- 接口强制删除namespace 为Terminating的方法
kubectl get ns qa01 -o json > qa01.json kubectl proxy --port=8081 curl -k -H "Content-Type: ...
- 6、组件注册-@Lazy-bean懒加载
6.组件注册-@Lazy-bean懒加载 懒加载:单实例bean,默认是在容器启动的时候创建对象:懒加载就是启动的是不创建,在第一次使用的时候再创建对象. @Lazy // 单实例下懒加载bean