由于fastdfs-client的jar包目前在中央仓库是没有坐标的,而在项目中要想实现文件的上传和下载就得使用到它,这不禁就让我们头疼,所以为了解决这个问题,我写下了这篇文章,希望对读者能有所帮助。

你会不会有这样一个疑问:该jar包从哪儿来?并且又该如何将这样的jar包给整到本地仓库中去呢?其实本文的标题就已经解释了这个疑问,我们会通过Eclipse下载GitHub上FastDFS-Client客户端源码并将其转化成maven工程,然后打包到本地maven仓库中。如何来进行这一操作呢?下面我会详细地介绍每一步的步骤。

第一步,右键名为taotao的Working Set,然后在其弹出的下拉列表中点击Import项,如下图所示。

第二步,在弹出的窗口中展开Git这一项,然后点击Projects from Git,接着点击Next按钮,如下图所示。

第三步,在弹出的窗口中点击Clone URI,然后点击Next按钮,如下图所示。

第四步,这时,我们会看到如下图所示的界面,现在我们需要向URI这一输入框中输入FastDFS-Client客户端源码在GitHub上的地址。

那么如何在GitHub上找到该地址呢?我们在浏览器地址栏中输入https://github.com/happyfish100/fastdfs-client-java回车访问该网址,就可以看到如下图所示的界面了,接着点击Code右边的倒三角图标,立马就会下拉出一个框框,而在文本框中就是我们想要的下载地址。最后,我们复制该地址并输入到上图的URI输入框中。

第五步,我们向URI输入框中输入复制好的地址后,HostRepository path会自动填充内容,如下图所示,然后点击Next按钮。

第六步,这时我们会看到如下图所示的界面,使用默认配置即可(其中默认勾选了master),勿须做任何修改,然后直接点击Next按钮。

第七步,这时会弹出如下窗口,默认情况下,Directory这一栏显示的是C盘下的目录,这里我们更改一下,将其更换成我们Eclipse的工程目录,然后点击Next按钮,如下图所示。

第八步,在弹出的如下窗口中选择Import as general project,这将意味着按普通工程导入到Eclipse中,然后点击Next按钮,如下图所示。

第九步,这时会弹出如下一个窗口,不用做修改,直接点击Finish按钮。

第十步,此时,我们会发现刚刚导入的工程归纳在了名为Other Projects的Working Set中,而我们明明是要使用名为taotao的Working Set来管理的,这该怎么办呢?很简单,直接将刚导入的工程拖拽到它下面。

然后,我们把刚刚导入的通用工程转成web工程,方法是在刚导入的fastdfs-client-java工程上右键,并在其下拉列表中点击Properties,如下图所示。

接着,在打开的如下窗口中点击Project Facets,我们会看到右侧的显示信息,紧接着点击Convert to faceted form...,如下图所示。

这时,会弹出如下窗口,不过现在我们不用做任何修改,直接依次点击ApplyOK这两个按钮即可。但是我要说明一点的是,如果导入的工程是Dynamic Web工程的话,那么请记得勾选上Dynamic Web Module前面的框框。

第十一步,这时会看到工程报错了,有一个小红叉,但暂时不用去管它。这一步,我们主要是将这个web工程转变为maven工程,你大可按照如下图所示的步骤来做。

第十二步,可以看到刚生成的maven工程报错了,这时是有一个红色的感叹号。不知你有没想过,刚生成的maven工程为什么会报错呢?查看一下报错的详细信息,如下图所示。

为何会报上图中的错误信息呢?这是因为slf4j-log4j12-1.7.26.jar这个jar包无法从网络上下载下来,导致我们的本地仓库中压根就没有这个jar包!而你又要在maven工程中使用这个jar包,那当然会报依赖缺失的错误了。

我还偏不信,查看了一下我本地仓库,发现确实是没有从网络上下载下来这个jar包,如下图所示。

这时我才算死心了,那么如何解决这个错误呢?既然本地仓库中没有1.7.26这个版本的jar包,那么可不可以用比较低版本的呢?查看一下本地仓库,发现确实是有比较低版本的jar包,例如1.7.12,所以在该maven工程中使用这个版本的jar包就哦了。

于是,我们打开该maven工程的pom文件,将slf4j-log4j12-1.7.26.jar这个jar包的版本改为1.7.12,如下图所示,可以看到依赖缺失的错误已经被解决了。

不过这时,maven工程还是会报错,只不过这时是有一个红色的小叉了。报错的原因是其pom文件中定义的jdk的版本过低(是1.6的),因此我们需要修改下jdk的版本。

我们打开pom文件,并把jdk原来的版本1.6改为1.8(大家根据自己使用的jdk版本做相应的修改即可),如下图所示。

第十三步,修改完pom文件中的jdk的版本后,我们还需要重新更新下maven依赖,你可以按照如下图所示的步骤来更新maven工程。

第十四步,更新完maven工程之后,可以看到工程的JRE版本自动变成1.8了,且工程也不报错了,如下图所示。

第十五步,由于我们本地仓库中还没有fastdfs-client的jar包,因此我们还要将该工程打包到本地maven仓库中,你可以按照如下图所示的步骤来进行打包操作。

第十六步,打包好之后,我们到本地maven仓库看下是否已经有fastdfs-client的相关包了,我们发现已经生成好了,如下图所示。

第十七步,既然本地有了fastdfs-client的相关包,那剩下的就是如何引用的问题了,这里以我的taotao-manager-web工程为例,在它的pom文件中添加如下依赖。

<dependency><groupId>org.csource</groupId><artifactId>fastdfs-client-java</artifactId><version>1.29-SNAPSHOT</version>
</dependency>

保存并自动更新完maven依赖之后,我的taotao-manager-web工程的maven依赖中便多了一个fastdfs-client-java的文件夹,这就已表示依赖成功了。

maven快速入门番外篇——Eclipse下载GitHub上FastDFS-Client客户端源码并转化成maven工程以及打包到本地maven仓库相关推荐

  1. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    转载自:https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程:给深度学习入门者的Python快速教程 - 基础篇 给深度学习入门者的Python快速教程 - ...

  2. 接口测试入门番外篇——如何在谷歌浏览器中集成postman这款接口测试工具呢?

    第一步,首先下载所需要的postman插件,如果你不想费心费力地从网上查找的话,那么可以点击我下面提供的百度网盘下载链接地址进行下载. 链接:https://pan.baidu.com/s/1sgiW ...

  3. Python番外篇:Flask+segno 实现个人名片二维码在线生成器

    hello,我是wangzirui32,今天来教大家如何Flask框架和segno模块实现个人名片二维码在线生成器. 开始学习吧! 1. 项目架构 image文件夹为空,templates下存储了2个 ...

  4. 【Android WebSocket】Android 端 WebSocket 基本用法 ( 下载 Java-WebSocket源码 | 导入 Java-WebSocket-1.5.2 工程作为依赖 )

    文章目录 一.下载 Java-WebSocket 源码 二.Android Studio 工程导入 Java-WebSocket 源码 使用 https://github.com/TooTallNat ...

  5. 教你从0到1搭建秒杀系统-Canal快速入门(番外篇)

    Canal用途很广,并且上手非常简单,小伙伴们在平时完成公司的需求时,很有可能会用到.本篇介绍一下数据库中间件Canal的使用. 很多时候为了缩短调用延时,我们会对部分接口数据加入了缓存.一旦这些数据 ...

  6. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  7. 文本分类入门(番外篇)特征选择与特征权重计算的区别

    文本分类入门(番外篇)特征选择与特征权重计算的区别 在文本分类的过程中,特征(也可以简单的理解为"词")从人类能够理解的形式转换为计算机能够理解的形式时,实际上经过了两步骤的量化- ...

  8. 设计牛人——设计入门答疑番外篇有感

    看了老牛(牛MO王)的U1番外篇问答感慨非常多,事实上自己也算不上入门非常久的大师,只是有时间去整理整理自己在网页设计方面的经验分享给大家是一件非常好的事情,尤其是对一些想做设计或者想在设计方面转行的 ...

  9. Java快速入门-01-基础篇

    Java快速入门-01-基础篇 如果基础不好或者想学的很细,请参看:菜鸟教程-JAVA 本笔记适合快速学习,文章后面也会包含一些常见面试问题,记住快捷键操作,一些内容我就不转载了,直接附上链接,嘻嘻 ...

最新文章

  1. 关于linux基础的博客,第一篇博客,以下。
  2. 升级python2.6.6到python2.7导致pip命令不可用
  3. eclipse导入项目后出现红色叉号的解决方案
  4. mvc if 显示html,asp.net mvc - 在MVC3 Razor中,如何在动作中获取渲染视图的html?
  5. 此版本的应用程序不支持其项目类型 (.etp)_适用于Microsoft Dynamics 365商业中心的VPS和VJS版本1.8...
  6. 创建订单 - 扣除商品库存与订单状态保存
  7. python自定义函数参数_python自定义函数的参数之四种表现形式
  8. react学习(21)---接口加回调显示
  9. selinux= 为 disabled_安德里茨为巴西KLabin Puma II 项目提供气化炉和生物质处理线
  10. (十三)java版spring cloud+spring boot+redis社交电子商务平台-springboot集成spring cache...
  11. Java LinkedHashMap clear()方法与示例
  12. 微信公众号定位显示EC-01G模组+STM32F103
  13. echart.js给series,xAxis中的data动态赋值(三种方式)
  14. 跟着海盗头子创业是一种怎样的体验?
  15. 计算机无法识别银行usb是,电脑不能识别USB设备(加密设备、网银U盾等)的解决方法...
  16. cyclone小知识(三)——cyclone导入多种格式数据
  17. Windows下的虚拟桌面软件——Virgo
  18. 运营可能是一种思维方式
  19. 无线攻击 --aircrack-ng套件之一:Airbase-ng(攻击客户端多用途工具)
  20. 为什么博图中放置按下按钮无反应_为什么点击了没反应,每个按钮都是

热门文章

  1. 世界级软件开发大师Martin Fowler这三本书经典书你都读过哪一本?
  2. 秋招Offer拿到后工资与五险一金计算
  3. 专利代理人考试2021/9/8
  4. 网页布局之 - rem布局
  5. 【成像】【8】太赫兹光学——波束耦合,高阶高斯波束模型
  6. 1.1亿!罗永浩直播“翻车”背后:中年网红的忐忑之路!
  7. 圆弧插补程序c语言,用C语言写的简易的逐点比较法插补算法,包括直线逐点插补和圆弧插补...
  8. 选择低功率MCU需考虑外设功耗与电源管理
  9. 谷歌piexl手机如何刷机 root
  10. 2022接口自动化测试工具Postman 使用教程