参照《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项目的搭建,测试和打包的更多相关文章

  1. maven(04)--一个简单的项目

    简单介绍 一个maven项目,使用hibernate框架,实现向mysql数据库中添加和获取操作,其他操作也是类似 如果你没有hibernate,那么也不要紧,这里主要介绍如何在一个maven项目中引 ...

  2. 学习笔记——Maven实战(八)常用Maven插件介绍(下)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...

  3. Maven实战(八)——常用Maven插件介绍(下)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...

  4. Spring Boot 揭秘与实战 自己实现一个简单的自动配置模块

    文章目录 1. 实战的开端 – Maven搭建 2. 参数的配置 - 属性参数类 3. 真的很简单 - 简单的服务类 4. 自动配置的核心 - 自动配置类 5. spring.factories 不要 ...

  5. 用IntelliJ IDEA学习Spring--创建一个简单的项目

    这段时间想学习一下Spring,其实之前学过Spring,只是有些忘记了.而且之前学的时候是适用eclipse学习的,现在好像对IntelliJ这个工具使用挺多的,现在就学习一下这个工具的用法,顺便复 ...

  6. how tomcat works 读书笔记(二)----------一个简单的servlet容器

    app1 (建议读者在看本章之前,先看how tomcat works 读书笔记(一)----------一个简单的web服务器 http://blog.csdn.net/dlf123321/arti ...

  7. jmeter压力测试的简单实例+badboy脚本录制(一个简单的网页用户登录测试的结果)

    JMeter的安装:在网上下载,在下载后的zip解压后,在bin目录下找到JMeter.bat文件,双击就可以运行JMeter. http://jmeter.apache.org/ 在使用jmeter ...

  8. Python实现一个简单三层神经网络的搭建并测试

    python实现一个简单三层神经网络的搭建(有代码) 废话不多说了,直接步入正题,一个完整的神经网络一般由三层构成:输入层,隐藏层(可以有多层)和输出层.本文所构建的神经网络隐藏层只有一层.一个神经网 ...

  9. 学习笔记——Maven实战(四)基于Maven的持续集成实践

    Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...

随机推荐

  1. ASE19团队项目beta阶段Backend组 scrum7 记录

    本次会议于12月13日,19:30在微软北京西二号楼sky garden召开,持续10分钟. 与会人员:Hao Wang, Lihao Ran, Xin Kang 请假人员:Zhikai Chen 每 ...

  2. el-table——可合并单元格的表格

    <el-table v-loading="loading" :data="tableData" border :span-method="col ...

  3. goroutine的设计与实现

    goroutine背后的系统知识 http://www.sizeofvoid.net/goroutine-under-the-hood/ 下周写完

  4. nginx简单反向代理实例

    一.要做什么? 实例最后实现的效果图: 我们在浏览器地址栏上输入 wangtong,代理服务器获取请求,将请求转发至指定的 tomcat 上 二.怎样做? 1.准备环境 虚拟中中需要安装 JDK+To ...

  5. Spark2 jar存档

    spark.yarn.archive需要手动将spark应用依赖jar上传到hdfs,该属性可以避免每一次运行spark应用时都重复打zip包上传到hdfs. 官网http://spark.apach ...

  6. kafka相关

    一.消息队列优点(解耦.异步.削峰)二.用消息队列都有什么优点和缺点?三.kafka.activemq.rabbitmq.rocketmq都有什么区别四.如何保证消息队列的高可用啊?五.如何保证消息不 ...

  7. java 基础:方法调用中的值传递是call by value,并且传递的是参数的值的拷贝,而不是引用

    public class TestExtends { public static void main(String[]args){ int s = 10; System.out.println(Sys ...

  8. .net 后台页面统一验证是否登录

    首先新写一个PageBase类 using System; using System.Collections.Generic; using System.Web; namespace Departme ...

  9. Java8-Optional-No.02

    import java.util.Optional; import java.util.function.Supplier; public class Optional2 { static class ...

  10. 用python做数据分析4|pandas库介绍之DataFrame基本操作

    原文地址 怎样删除list中空字符? 最简单的方法:new_list = [ x for x in li if x != '' ] 今天是5.1号. 这一部分主要学习pandas中基于前面两种数据结构 ...