昨天折腾了一天,从早上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

1

2

3

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。


有些问题发生的很奇妙,按照常规的思路来考量的话,会觉得特别不可思议。所以唯有保持耐心,尝试不同的方法,才有可能解决问题。

GitHub 加速计划 / ma / maven
4.31 K
2.66 K
下载
Maven: Apache Maven是一个开源的项目管理和构建工具,主要用于Java项目。适合需要自动化项目构建和依赖管理的开发者。特点包括约定优于配置、易于使用和社区驱动。
最近提交(Master分支:1 个月前 )
b91b4ef1 - 2 天前
4c57802a - 2 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐