Maven在Eclipse中的实用小技巧
2024-08-25 10:07:01
前言
我们在开发的工程中很多都是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
最新文章
- 那些年我们用过的Python代码
- 关于phpmyadmin的小笔记
- 【BZOJ-2299】向量 裴蜀定理 + 最大公约数
- 【转】phpcms-v9中关于模型的理解
- div box container随主体内容自动扩展适应的实现
- Cause for NullPointerException android.support.v7.widget.RecyclerView.onMeasure
- VMware + OpenStack: 从 Plugin 到 VIO (VMware Integrated OpenStack)的演进
- NOIP 2014 普及组 T4 子矩阵
- 跨平台轻量级redis、ssdb代理服务器(C++ 11编写)
- 典型的字符串处理代码(page50)
- WinForm应用程序退出的方法
- Specified VM install not found: type Standard VM, name jdk1.6.0_05
- 在线支付接口之PHP支付宝接口开发
- Linux系统bashshell之别名
- GlitchBot -HZNU寒假集训
- os.path 下的各方法
- Android : Android Studio 更新至gradle 4.10.1后Variants API变化
- java.lang.NoClassDefFoundError: org/hibernate/QueryTimeoutException
- spark 实现TOP N
- 拼接html a标签字符串,onClick传递两个字符串类型参数写法
热门文章
- 干货来袭-整套完整安全的API接口解决方案
- 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率
- servlet文件下载
- 基于OpenCV的车辆检测与追踪的实现
- angular2系列教程(八)In-memory web api、HTTP服务、依赖注入、Observable
- 使用DeviceOne实现微信小程序功能
- Oracle 分页
- Linux监控工具介绍系列——OSWatcher Black Box
- IP报头
- ASP.NET Core ";完整发布,自带运行时"; 到jexus