maven 工作原理和添加jar包技巧
相
信只要做过 Java 开发的童鞋们,对 Ant 想必都不陌生,我们往往使用 Ant 来构建项目,尤其是涉及到特别繁杂的工作量,一个
build.xml 能够完成编译、测试、打包、部署等很多任务,这在很大的程度上解放了程序员们的双手。但同时也存在一些其他的问题,比如:jar
文件管理混乱,每次都需要自己去下载;build.xml 因项目结构的不同导致差异性较大。
从项目中引入 Maven 以后,以前 Ant 能解决的,Maven 提供了更加简洁的解决方案,而以前 Ant 解决不了的,Maven
也能很好的解决。这就直接导致了项目管理工具的更新换代。当然,这已不是什么新鲜事了。只不过,一直到现在才有时间来分享项目中使用 Maven
的感受,这一点上,真的很抱歉,后续会及时的更新。
到 Maven 的原理,其实很简单,就是采用远程仓库和本地仓库以及一个类似 build.xml 的 pom.xml,将 pom.xml 中定义的
jar 文件从远程仓库下载到本地仓库,各个应用使用同一个本地仓库的 jar,同一个版本的 jar 只需下载一次,而且避免每个应用都去拷贝
jar。
结构
些动作在 Maven1 中,是需要在 maven.xml
中使用<preGoal>或<postGoal>来完成的。如今,完全不需要在pom.xml中指定就能够自动完成。在src和
test都使用resources,方便构建和测试,这种方式本就已是前人的经验。通过使用Maven2,使这个经验在开发团队中得到普及。
果要执行项目编译,那么直接输入:mvn
compile即可,对于其他的阶段可以类推。阶段之间是存在依赖关系(dependency)的,如test依赖test-compile。在执行
mvn test时,会先运行mvn test-compile,然后才是mvn test。当然,开发中,我们一般都不会直接操作 Maven
的。而是在 Eclipse 中使用 Maven 插件,其中用的最多的命令就是
clean 、compile 、install 、deploy 等。
好像平面坐标系一样,通过 x 轴 和 y 轴定位一个坐标点。Maven 定义了这样一组规则:世界上任何一个构件都可以使用 Maven
坐标唯一标识,Maven 坐标的元素包括 groupId 、artifactId 、version 、packaging 、classifier
。只要我们提供正确的坐标元素,Maven 就能够找到它。
的人可能会有疑问,以前没有 Maven 的时候,我们可以去各自的官网下载 jar,但现在只能通过 pom 引用
jar。那么如何知道需要添加哪些依赖呢?还有需要什么版本呢?这也是为什么有一部分习惯了自己下载 jar,而到了 Maven 这不知道该怎么用了。
然,Maven 还不是智能的,你不可能直接命令 Maven
直接给你找项目所需要的各种组件,或许以后这样的智能化的软件管理工具会出现,至少现在还没有。因此,还得需要你自己去添加 pom
依赖。至于该如何找,这里我告诉大家一个方法,虽然方法有点笨,但或许对你快速定位到具体组件有所帮助。
maven 工作原理和添加jar包技巧的更多相关文章
- maven向本地库添加jar包
mvn install:install-file -DgroupId=com.lowagie -DartifactId=itextasian -Dversion=1.0 -Dpackaging=jar ...
- Maven 手动添加 JAR 包到本地仓库
Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个人共用,有时候用 Maven 来远程下载 JAR 包会显得很慢 ...
- 如何在maven中添加jar包
Maven 中央仓库地址: 1. http://www.sonatype.org/nexus/ 2. http://mvnrepository.com/ (本人推荐仓库) 3. http://repo ...
- Eclipse中Maven项目添加jar包
各个标签的含义如下: Overview:显示maven项目的一些基本信息Dependencies:添加jar包的页面Plugins:添加maven插件的页面.比如tomcat-maven-plugin ...
- 转:maven项目添加jar包.
很多新手都不知道如何在maven项目里添加jar包. 以前我还没接触maven的时候下载过一个demo,是maven项目. 我居然是照着他的pom.xml文件一个一个的写!!! 很多人认为理所当然的东 ...
- maven中在本地maven仓库添加jar包
Maven 手动添加 JAR 包到本地仓库 Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个人共用,有时候用 ...
- 关于使用命令添加jar进自己的pom文件中-maven项目添加jar包
现在几乎开发项目都是使用的maven项目,但是有的时候可以使用比较偏门或者新的jar可能在网上搜不到在pom文件里的配置应该如何写,因此写下这篇博客. 比如我现在想加入的AAA.jar这个包 打开cm ...
- 手动添加jar包到本地maven仓库
我们都知道使用maven管理jar包的时候,我们需要到远程仓库下载相关的jar包到本地仓库,但是如果远程仓库没有这个jar包呢?这时候我们就需要手动将jar包添加到本地仓库. 起因是我想用百度的富文本 ...
- maven 如何给web项目添加jar包依赖
maven 如何给web项目添加jar包依赖 CreateTime--2018年4月19日19:06:21 Author:Marydon 开发工具:eclipse 1.打开pom.xml文件--& ...
随机推荐
- Android项目中gen文件下R文件无法生成的解决的方法
帮一个网友解决R文件无法生成的问题,搜集了些材料特整理例如以下,刚開始学习的人參考他人代码时极易出现此种问题,一般都是xml文件出错,无法被正确解析. gen文件夹无法更新,或者gen文件夹下的R.J ...
- HDU 1027 Ignatius and the Princess II 选择序列题解
直接选择序列的方法解本题,可是最坏时间效率是O(n*n),故此不能达到0MS. 使用删除优化,那么就能够达到0MS了. 删除优化就是当须要删除数组中的元素为第一个元素的时候,那么就直接移动数组的头指针 ...
- .Net的PDF转图片
用的是破解版的 O2S.Components.PDFRender4NET.dll 插件, 简单引用即可 public static class PdfToImage { , , ) { try { / ...
- 从blob字段读取图片 在浏览器显示
public byte[] GetProImg(string JID) { byte[] Buffer = null; using (OracleConnection conn = new Oracl ...
- ASP.net(C#)利用SQL Server实现注册和登陆功能
说说我现在吧,楼主现在从事的事IT行业,主攻DotNet技术:当然这次上博客园我也是有备而来,所有再次奉献鄙人拙作,以飨诸位,望诸位不吝赐教. 世界上大多数的工作都是熟练性的工种,编程也不例外,做久了 ...
- 寻找子串位置 codevs 1204
题目描述 Description 给出字符串a和字符串b,保证b是a的一个子串,请你输出b在a中第一次出现的位置. 输入描述 Input Description 仅一行包含两个字符串a和b 输出描述 ...
- 给软件增加注册功能 c#
1.软件注册类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- oracle 10g RAC psu过程
1 升级crs 至10.2.0.5.2 1) 升级opatch 程序,PSU对opatch的版本有要求,详见readme文件,此步操作共涉及到每个节点的ORACLE_HOME和ORA_CRS_HOME ...
- 【6】Laravel5.1的migration数据库迁移
查看Laravel5.1的目录 当你配置好数据库后,在命令行执行下边的操作 php artisan migrate 打开数据库会发现,我们的数据库多了四个表,神奇吧! 打开任意一个migration查 ...
- 微软企业库的Cache
微软企业库的Cache 通常,应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能.基于微软的企业库,我们的快速创建一个缓存的实现. 新建PrismSamp ...