终于弄明白了Eclipse中Maven和SVN,真不容易!
昨天折腾了一天,从早上9点到半夜1点,总算是折腾明白了Eclipse中安装Maven的方法,其实就是什么也不做——因为Oxygen版本中已经集成了Maven插件。并且,导入Maven项目也并不像我上一篇文章Eclipse导入Maven项目,实在算得上是历经千辛万苦说得那么麻烦。
今天早上,我重新理了一遍思路,对前前后后的过程进行了反思和总结。发现网上提供的方法早已经过时了或者不中用,比如说要下载【apache-maven-3.5.0】,比如说要把Maven配置文件settings.xml中默认的镜像地址改为阿里云等等,这些方法都会对Maven项目的运行造成运行不了的影响。
初学Java的时候,老师教我要把Java的先安装地址配置到环境变量中,我学会了,并且照着这个方法一而再再而三的重复。换了新的公司换了新的电脑,就这样照葫芦画瓢,我早已习惯了这样的思维定式。然后,当我需要在Eclipse中导入Maven项目的时候,我起先想到的就是下载【apache-maven-3.5.0】,然后把它加入到环境变量中,然后再Eclipse的配置项中加载前面的Maven,我不知道Eclipse已经帮我做了这个事情。
##一、Eclipse和Maven
Oxygen版本Eclipse中的Maven配置如上图所示。
如果你的Eclipse中已经安装了SVN,那么请继续往下看,如果没有的话,请看先看第二节【Eclipse和SVN】章节内容。
接下来,我们看如何导入Maven项目。
第一步,通过TortoiseSVN 将Maven项目导入到本地。
第二步,将Maven项目导入到Eclipse。
有一个错误,不要紧,我们看到Maven项目的基本格调已经有了,此时,并不需要对Maven项目再转成web项目了,上一篇中介绍的【第三步,将项目转换为web项目。】是多余的。
第三步,修正maven仓库。
这一步并不是必须的,因为在家里的Mac上同样的默认Maven可以下载到所有需要lib,但是在公司的电脑上就出现了lib找不到的错误。
此时需要修正Maven配置文件的默认settings.xml。
从apache-maven-3.5.0的文件夹下复制一份新的maven配置文件到默认的路径下。
然后追加阿里云的mirror镜像。
<mirror>
<id>aliyun</id>
<name>aliyun Maven</name>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
打开Maven的view查看是否成功。
再次更新Maven。
更新完后,发现还有一个错误。
网上找了很多方式都没用,只好手动下载该jar包了。
第四步,手动下载jar包。
打开MavenRepository,在里面搜索对应的jar包。
看看pom.xml中bootstrap的版本如下:
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>bootstrap</artifactId>
<version>1.0.10</version>
</dependency>
将下载的jar包添加到本地资源库中。
重新更新后,发现错误消失了。
但是,高兴早了。这项目导出来竟然不是个web项目,明明是个web项目呢?不能运行,擦擦擦,真是受够了。
第五步,没办法的办法。
重新下载一个低版本的eclipse吧,这次选择的是【mars】版本,试试怎么样?
安装SVN,再重复【1】的步骤,竟然成功了!
##二、Eclipse和SVN
新鲜出炉的eclipse的【Team】一栏中是没有SVN选项的。
这需要们手动安装Eclipse的SVN插件。
可选方案有两种,【 Eclipse Subversive】和【subclipse】。前者是Eclipse提供的SVN插件,后者是一个Eclipse插件Subclipse团队提供的Apache Subversion。两者的区别就在于出发点不一样,【 Eclipse Subversive】是站在Eclipse的角度为SVN做插件,而【subclipse】是站在SVN的角度为Eclipse做插件。
两者孰轻孰重,难以有定论。
【subclipse】的安装方法我之前已经有一篇文章作说明了, Eclipse最新SVN(4.2.x )插件subclipse安装方法 。
为了做差别对别,这一次,我选择【 Eclipse Subversive】,安装方式有两种,见下图。
我选择拖拽,这功能感觉不错!
全选继续。
同意条款后,点击【Finish】。
完成后重启。
打开eclipse的配置项,可以看到【Team】栏中有了SVN,点击后弹出安装SVN的连接器,有SVN Kit和javaHL,全选后继续。
擦,竟然没有然后了,看来这一步有bug。为了写完这篇博客,我是点啊点,重启啊重启,足足尝试有100次,竟然还是安装过程还是一闪而过。怎么办?
点到201次的时候,终于可以安装一个SVN kit了。
所以,各位,我强烈的,特别强烈的奉劝大家还是用【subclipse】吧!
再次重启,可以看到有连接器【SVN kit】了,可惜却安装不了JavaHL了,本来还想做【SVN kit】和【JavaHL】的区别了,可惜事与愿违。
另外,原来用【subclipse】导入的项目也没有SVN信息了,真是得不偿失啊。一看这样的结果,我决定重新再开一个eclipse,用 【subclipse】 !
用subclipse方式安装的SVN插件的连接器有两种选择【SVN kit】和【JavaHL】,两者也有差别。
SVNKit 是 Subversion 的纯 Java 连接库版本,整个连接底层都是由 Java 实现的,不需要额外的支持。而 JavaHL 则使用的是 Subversion 原生的连接库,加上了 Java 调用库。这两种连接库给人表征的感觉应该是 JavaHL 在连接稳定性和速度上应该占优,而 SVNKit 则应该更省事,适用性更广。
不过,据我的实际使用情况来看, 使用JavaHL 的时候,eclipse经常弹出Subversion Native Library Not Available。
有些问题发生的很奇妙,按照常规的思路来考量的话,会觉得特别不可思议。所以唯有保持耐心,尝试不同的方法,才有可能解决问题。
更多推荐
所有评论(0)