前言

    我们在开发的工程中很多都是Maven项目,这样更加便于我们jar包的管理。而我们一般使用的IDE都是Eclipse,由于我们在日常的开发过程中会经常要用到一些Maven的操作,所以我今天主要跟大家分享一下我们在日常开发中的Maven实用小知识,让大家不再云里雾里。
 

安装配置Maven

 
    1.安装Maven,下载一个maven包解压,然后配置maven环境变量(配置完成后在dos窗口用mvn命令测试下)。
 
    2.在Eclipse中安装Maven插件,Maven插件在线安装地址为:http://m2eclipse.sonatype.org/sites/m2e
 
    3.在Eclipse中配置Maven的setting.xml,即在Preference——》Maven——》User Setting中配置(具体使用哪个setting.xml需要根据你的项目情况而定)。
 
    4.拷贝repository包,虽然这个不是必须的,一般通过项目在线更新jar包就可以,但是如果第一次的话最好是拷贝,因为一般项目都会比较大,jar包也会很多很多,在线下载的话会很慢。
        

引入和安装Maven项目

 
    如果第一步操作成功的话,你就可以在import窗口里面看到Maven的选项了,选择Import a exsiting Maven project 就行,前提是你先把Maven项目从版本库中down下来。
 
    如果你引入的这个项目A被别的Maven项目B引用了,那么我们最好是让项目B直接使用本地的项目A,而不是从repository中寻找对应项目A的jar包。这样会避免jar包更新出问题(比如项目A经常更新,jar包可能会更新不及时)。这样的话我们就需要将我们的项目A install到本地,install有两种方法:
        
    1.右键项目选择Maven菜单的install即可。
 
    2.使用命令,即将目录转换到该项目目录下,然后执行mvn clean install -Dmaven.test.skip=true即可。(推荐该方法,因为跳过了测试)    
        

更新jar包

 
   更新Maven的jar包应该是对于Maven项目最常用的操作了(因为项目一直在更新,那么jar包肯定也一直在变)。
 
   那么对于更新Maven的jar包的方法是:右键项目选择Maven菜单下的update project,然后在弹出框中有一个offline的选项,一般情况我们直接勾选offline(这样它之更新本地的jar包,比如上面提到的项目A的更改会更新,offline的速度很快);当然如果offline不行的话就需要取消对offline的勾选,即在线更新jar包,这样它会从远程服务器中下载最新的jar包。
 

常见小问题

 
   虽然在上面的几个步骤中看起来很简单,但是由于我们的maven插件不太好用,所以也会经常出一些小问题。
 
   1.install项目失败
 
   这个情况一般会发生在使用右键项目install的方法,因为它有一个test的过程,所以有时候会test失败,这时候我们只需要换成第二种使用install命令的方式就没问题了。
 
    2.更新jar包失败
 
    经常会有这样一个情况,明明都在线更新jar包了,可是jar包却还是很久以前的,然后在启动tomcat的时候总是会报ClassNotFound或者某个方法不存在的错误。
 
    对于这种情况我们最好是找到是哪个包,然后在repository中找到这个包删掉,之后再update那么这个包就会变成最新的了。
 
     3.项目莫名其妙的启动不了
 
     有时候我明明都在线更新了jar包,然后还clean项目了,但是就是启动失败,仔细一瞧,problems窗口中有错误提示,有什么cycle引用,这时候一般是因为有引用本地安装的项目还有引用repository中jar包,所以可能是你repository中的jar包最新了但是你本地引用的项目没有更新,这时我的无忧做法是:
 
     将引用到的项目全部update(记得update完后修改jdk),然后clean,然后重新install(最好使用命令方式),最后再将你的项目update然后clean,基本就没有问题了。
 
  转自:http://blog.csdn.net/huaweitman/article/details/50676573

Maven在Eclipse中的实用小技巧的更多相关文章

  1. 实用小技巧(一):UIScrollView中上下左右滚动方向的判断

    https://www.jianshu.com/p/93e8459b6dae 2017.06.01 01:13* 字数 674 阅读 1201评论 0喜欢 1 2017.06.01 01:13* 字数 ...

  2. Vim实用小技巧

    Vim实用小技巧 一些网络上质量较高的Vim资料 从我07年接触Vim以来,已经过去了8个年头,期间看过很多的Vim文章,我自己觉得非常不错,而且创作时间也比较近的文章有如下这些. Vim入门 目前为 ...

  3. svn checkout 实用小技巧

    svn checkout 实用小技巧 by:授客 QQ:1033553122   问题描述: 用svn小乌龟软件,进行update,commit之前,先要把svn工作目录checkout到本地,那么问 ...

  4. VC6.0实用小技巧

    VC6.0的若干实用小技巧 .检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}.方括号[].圆括号()和尖括号<>)前面,键入快捷键 “Ctrl+]”.如果括号匹配正确, ...

  5. 必看!macOS进阶不得不知的实用小技巧

    不知道大家对使用苹果电脑的体验如何?您充分利用您的mac了吗?其实macOS上存在着许多快捷方式和技巧可以帮助简化我们的工作流程,提高效率,但是在日常生活中经常被人们忽略或者遗忘.以下是macdown ...

  6. 实用小技巧:Notepad++直接连接Linux

    实用小技巧:Notepad++直接连接Linux 前言 号称编辑器之神的Vim对于只会用几个基础操作的本人而言,在编辑一些大型文本有那么些力不从心: 平时都是通过Xftp拖到本地,修改完后再覆盖回去: ...

  7. PHP 常用函数库和一些实用小技巧

    PHP 常用函数库和一些实用小技巧 作者: 字体:[增加 减小] 类型:转载   包括文件读取函式,文件写入函式,静态页面生成函式,目录删除函式等   文件读取函式 //文件读取函式 function ...

  8. ACM 做题过程中的一些小技巧。

    ACM做题过程中的一些小技巧. 1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout.cin和printf.scanf最好不要混用. 2.有时候int型不够用,可以用long l ...

  9. C语言中的调试小技巧

    C语言中的调试小技巧 经常看到有人介绍一些IDE或者像gdb这样的调试器的很高级的调试功能,也听人说过有些牛人做工程的时候就用printf来调试,不用特殊的调试器.特别是在代码经过编译器一些比较复杂的 ...

随机推荐

  1. JS里面Data日期格式转换

    var format = function(time, format){     var t = new Date(time);     var tf = function(i){return (i  ...

  2. 【Net跨平台第一步】逆天带你零基础Linux入门【更新完毕】

    部分讲义:(视频已删,后期以文档形式发布)

  3. Python标准库--typing

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 模块简介 Python 3.5 增加了一个有意思的库--typ ...

  4. Vue-Router 页面正在加载特效

    Vue-Router 页面正在加载特效 如果你在使用 Vue.js 和 Vue-Router 开发单页面应用.因为每个页面都是一个 Vue 组件,你需要从服务器端请求数据,然后再让 Vue 引擎来渲染 ...

  5. git亲测命令

    一.Git新建本地分支与远程分支关联问题 git checkout -b branch_name origin/branch_name 或者 git branch --set-upstream bra ...

  6. ASP.NET Core应用针对静态文件请求的处理[2]: 条件请求与区间请求

    通过调用ApplicationBuilder的扩展方法UseStaticFiles注册的StaticFileMiddleware中间件帮助我们处理针对文件的请求.对于StaticFileMiddlew ...

  7. 通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流程[下]:管道是如何构建起来的?

    在<中篇>中,我们对管道的构成以及它对请求的处理流程进行了详细介绍,接下来我们需要了解的是这样一个管道是如何被构建起来的.总的来说,管道由一个服务器和一个HttpApplication构成 ...

  8. 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载

    title: 带你实现开发者头条APP(五)--RecyclerView下拉刷新上拉加载 tags: -RecyclerView,下拉刷新,上拉加载更多 grammar_cjkRuby: true - ...

  9. 设计模式C#合集--抽象工厂模式

    抽象工厂,名字就告诉你是抽象的了.上代码. public interface BMW { public void Drive(); } public class BMW730 : BMW { publ ...

  10. CSS入门常见的问题

    写在前面:本文简单介绍一下css的三大特性:层叠性.继承性.优先级.以及margin,padding,浮动,定位几个知识点.限于水平,不深入探讨,仅作为学习总结. 1,三特性 1)层叠性:同标签同权重 ...