参照《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. 理解JVM之对象的生命周期

    1.对象的创建 1) 当虚拟机遇到一条new的指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载,解析和初始化过. 2) 在类加载检查通 ...

  2. 【leetcode】302.Smallest Rectangle Enclosing Black Pixels

    原题 An image is represented by a binary matrix with 0 as a white pixel and 1 as a black pixel. The bl ...

  3. c#创建目录和文件夹,数据写入并生成txt文件

    c#创建目录: // 获取程序的基目录.System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径.System.Diagnostics.Pro ...

  4. MySQL操作规范总结

    来源:静以致远√团团 用户权限管理创建用户命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';说明:Username所创建的用户名hos ...

  5. less嵌套规则

    嵌套,是less里面最有意思的小东西,比如说我们经常性的去写一些列表性的东西 html <ul class="list"> <li><a href=& ...

  6. 基于JQ的记忆翻牌游戏

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  7. ActiveMQ之JMS及保证消息的可靠性<持久化、事务、签收>(三)

    1.JAVAEE 是一套使用Java 进行企业级开发的13 个核心规范工业标准 , 包括: JDBC  数据库连接 JNDI  Java的命名和目录接口 EJB   Enterprise java b ...

  8. ansible中roles的简单使用

    一.初识roles 上节中我们已经了解了playbook,详见  https://www.cnblogs.com/wangtaobiu/p/10691689.html 当我们在配置playbook时会 ...

  9. ansible的安装和简单使用

    ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真 ...

  10. 2019HDU多校第四场 K-th Closest Distance ——主席树&&二分

    题意 给定 $n$ 个数,接下来有 $q$ 次询问,每个询问的 $l, r, p, k$ 要异或上一次的答案,才是真正的值(也就是强制在线).每次询问,输出 $[l, r]$ 内第 $k$ 小的 $| ...