【毕设记录】02使用的技术-Maven

概述

Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。当时有一些项目(有各自Ant build文件),仅有细微的差别,而JAR文件都由CVS来维护。于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个项目中共享JARs

Maven的作用:

1.依赖管理:改变传统的jar包管理方式,一个或多个项目只需要配置一个文件即可实现jar包的依赖。
2.项目构建:采用统一轻便的方式构建管理项目,通过简单的命令帮助完成复杂的清理,编译,测试运行等项目的生命周期管理

maven特点

项目设置遵循统一的规则。

任意工程中共享。

依赖管理包括自动更新。

一个庞大且不断增长的库。

可扩展,能够轻松编写 Java 或脚本语言的插件。

只需很少或不需要额外配置即可即时访问新功能。

基于模型的构建 ? Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。

项目信息的一致性站点 ? 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。

发布管理和发布单独的输出 ? Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。

向后兼容性 ? 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。

子项目使用父项目依赖时,正常情况子项目应该继承父项目依赖,无需使用版本号,

并行构建 ? 编译的速度能普遍提高20 - 50 %。

更好的错误报告 ? Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。

配置仓库

Maven仓库分为三种:本地仓库、远程仓库和中央仓库。

本地仓库:用来存储从远程仓库或中央仓库下载的插件和jar包。项目使用的一些插件和jar包应该优先从本地仓库中下载。
远程仓库:如果本地仓库没有想要的插件或jar包,那么,maven就会去远程仓库中下载。
中央仓库:在Maven工具中内置了一个远程仓库(http://repo1.maven.org/maven2),它就是一个中央仓库,用于服务全球的Maven用户。它里面包含了非常全的jar包,包含了世界上大部分流行的开源项目构件。该仓库是由Maven团队负责维护。

生命周期

每个阶段都对应一个Maven命令,例如:编译(compile)、测试(test)、package(打包)、安装(install)、部署(deploy)。

执行命令会将该命令在生命周期当中之前的阶段自动执行。例如:执行mvn test命令的时候,会自动执行mvn compile命令。

原文地址:https://www.cnblogs.com/miria-486/p/12257568.html

时间: 2024-07-30 13:39:58

【毕设记录】02使用的技术-Maven的相关文章

自己记录java环境搭建之-maven

简述: 现需要在Eclipse中配置Maven插件,同时安装maven应用,配置Maven环境变量,建立Maven管理的工程,并用Maven导入Gson包, 编写简易Json输出程序 步骤: 1. 首先到Eclipse Marketplace中下载Maven Integration for Eclipse WTP, 如下, 之后查看是否成功下载,Window -> ShowView -> Maven 2. 下载Maven的bin http://maven.apache.org/download

大数据学习总结记录—页面静态化技术(Freemarker/velocity)& 网站伪静态(UrlRewriteFilter)

Freemaker  静态化模板技术 模板的作用 模板技术在现代的软件开发中有着重要的地位,而目前最流行的两种模板技术恐怕要算freemarker和velocity了,webwork2.2对两者都有不错的支持,也就是说在webwork2中你可以随意选择使用freemarker或velocity作为view,模板技术作为view的好处是很多,尤其和jsp比较起来优点更大,众所周知jsp需要在第一次被执行的时候编译成servlet,那么这个过程是很慢的,当然很多应用服务器都提供预编译的功能,但是在开

记录在mac中安装maven,jdk,以及命令学习!!!

1:安装jdk,直接全部下一步即可. 2:安装maven,首先下载Maven: http://maven.apache.org/download.cgi 3:下载完之后解压到文件夹 4:打开终端 配置如下: 执行命令:touch ~/.bash_profile vim ~/.bash_profile #进入vi模式进行编辑 把下面的配置复制进去.改好自己文件的路径. export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.

毕设记录

2014.12.5 这么多天的编译,终于把Boost+CGAL+Qt+Qt-Addin+libQGLViewer搞定了..虽然../Demo/Polyhedron没有弄出来(编译全过,可是执行文件无法运行),但是把../Demo/AABB_Tree给弄通了. AABB这个Demo感觉很实用.里面有Cut Plane,Intersection,Segements,需要把这个弄懂. 另外今天重新看了看学姐发给我的CGAL切割的例子,感觉有了新的收获,把链接记录下来:http://www.xpc-yx

【Mininet】毕设记录:关于IP地址分配的问题

随手记录一下在子网分配中的心得. 之前在仿真数据中心网络拓扑中牵涉到一个问题,由于在后续工作中我想通过指定不同datacenter之间的网络延时或带宽等参数的区别,因此需要让每两个datacenter之间存在一条链路(其实本来是两条,对应上下行的不平等带宽,但后来觉得这样太复杂)简化下来就如下图所示. 但是由于我的datacenter使用host模拟路由器进行转发,而每一条连接到host上的链路都会引入一个新的interface.因此就牵涉到为每个interface分配IP地址的问题.最初我只是

拇指接龙游戏升级记录02(Cocos2d-x 3.8.1集成ShareSDK遇到的问题)

本文记录下在我的拇指接龙游戏升级过程中集成ShareSDK遇到的问题及解决方案. 第一,URL:http://wiki.mob.com/cocos2d-x-3-x快速集成指南/处说明过程粗略,尽管其意思是让开发人员参考相应URL下提供的DEMO. 第二,按照DEMO中提供的思路,以前在COCOS2D-X 2.X集成ShareSDK时十分顺利,但是现在在3.x项目中集成ShareSDK居然出现这么多的麻烦,实在是始料未及. (注意:我使用官方提供的cocos命令行工具生成工程框架,其中文件夹架构没

Java技术--maven的assembly插件打包(依赖包归档)

注:最近工作中遇到的一个问题,写了一个日志处理的模块,现在需要给第三方客户使用,但是该模块依赖了我们自己写的或者修改的一些jar包,可选择方案:1.所有jar包放在一个文件夹中给第三方(感觉好不专业):2.将日志处理模块和依赖包全部打成一个jar包,明显这种方法专业且方便.因此引入maven的assembly插件来完成这个工作. 前提是:你的项目也是用maven来管理的. 1.在pom.xml文件中增加assembly插件: <!-- for package --> <plugin>

02.基于IDEA+Spring+Maven搭建测试项目--Maven的配置文件settings.xml

1 <?xml version="1.0" encoding="UTF-8"?> 2 <settings xmlns="http://maven.apache.org/SETTINGS/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org

记录一下学习PDO技术防范SQL注入的方法

最近学习了使用PDO技术防范SQL注入的方法,在博客里当做一次笔记.若果有新的感悟在来添上一笔,毕竟也是刚开始学习.一. 什么是PDO PDO全名PHP Data Object PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口. PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据. 二.如何去使用PDO防范SQL注入?/防范sql注入这里使用quate()方法过滤特殊字符和通过预处理的一些方式以及bindPar