普通 Java 项目转换为 Maven 项目
普通 Java 项目转换为 Maven 项目
本文为原创文章,转载请注明出处。源码已分享至GitHub.
本文提供一个完整可行的将遗留项目转换为Maven项目的步骤。至于转换Maven构建项目的好处不在本文涉及范围之内,希望了解的读者可以使用
持续集成、自动化测试 与 Maven等进行搜索
使用工具
- Eclipse Neon (4.6)
- JBoss Tools 4.4.2.Final
转换步骤
- 在Eclipse Marketplace 安装
JBoss Tools 4.4.2.Final插件

选中待转换的项目,“右键 > Configure > Convert to Plug-in Projects”

在弹出框填写Maven项目的GAV信息和打包信息(Java Web项目使用war,Java项目使用jar)

等待自动识别jar依赖,注意不要勾选“Delete original references from project”

- 记录上一步里的匹配结果,已匹配的(绿色)和未匹配成功的(红叉),建议使用截图将识别记录保存下来。
- 回到项目文件夹,将自动识别成功的jar删除。接下来开始处理无法匹配的依赖包
- 将剩余未成功匹配的jar包移动到另一个位置,新建名为test的项目,将这些jar加入该项目的
build path。 在test项目的“Referenced Libraries > ”之下依次点击jar左侧的箭头按钮查看jar的类信息

打开jar的
META-INF目录,这个时候有两种情况:由Maven打包的jar和不是的。Maven打包的jar处理起来很简单,META-INF下将可以看到名为maven文件夹打开它知道最里层会看到一个pom.properites的文件,这个文件里含有该jar的Maven依赖信息将该信息填入pom即可。示例如下:


- 处理非Maven打包的同时也不在Maven中央仓库存在的依赖包,这样的依赖包一般是非开源的私有包。这是自己编织该jar的Maven GAV信息,将该信息填入pom,并将将jar发布到自己建立的代理仓库(一般使用Nexus OSS搭建)即可。
- 回到被转换的项目,在Eclipse里按 “Alt+F5” 更新Maven即可看到构建成功。
至于其他既不能在jar里找到
pom.properites,看上去由不像是私有包,那么可以在[search.maven.org](http://search.maven.org/#advancedsearch)进行搜索.

普通 Java 项目转换为 Maven 项目的更多相关文章
- idea将普通项目转换为maven项目
方式一 1.在项目根目录下,新建文件 pom.xml,并填写好内容. 2.在pom.xml文件上,右键 Add as Maven Project 或 在项目上,右键 Add Framework Sup ...
- intellij idea 如何将一个普通项目转换为maven项目
1.工程文件下新建文件pom.xml,并填写好内容. 2.在pom.xml 文件上右键 Add as Maven Project.
- idea中如何将一个普通项目转换为maven项目
在pom.xml 文件上右键 Add as Maven Project即可.
- 一般项目转为Maven项目所遇到的问题
最近搞CI,准备使用Maven,但以前的项目不是Maven项目,需要把项目转换为Maven项目.这遇到几个小问题,一是jar包的依赖,二是从本地仓库取出依赖jar包. 由于没有本地仓库,要手动添加ja ...
- eclipse中 将java项目转换为web项目
来自:http://jadethao.iteye.com/blog/1331308 eclipse中 将java项目转换为web项目 1.找到项目工作空间目录,打开.project文件,并修改文件, ...
- eclipse中 将java项目转换为web项目 博客分类: Tomcat
1.找到项目工作空间目录,打开.project文件,并修改文件, 修改如下: 找到:<natures> </natures>代码段,在代码段中加入如下内容并保存: ...
- Eclipse java项目转换为web项目
1.打开.project文件,并修改文件, 修改如下: 找到:<natures> </natures>代码段,在代码段中加入如下内容并保存: <nature>org ...
- Eclipse中 将java Gradle项目转换为web项目
1.找到项目工作空间目录,打开.project文件,并修改文件, 修改如下: 找到:<natures> </natures>代码段,在代码段中加入如下内容并保存: ...
- 将studio项目 转换为eclipse项目
总会有些奇怪的事情,比如,有的人就有将studio项目 转换为eclipse项目的需求 首先,不要因为编译原因而放弃.studio项目是完全可以转换成eclipse的 本站的开源代码板块有很多项目都是 ...
随机推荐
- POJ 1579-Function Run Fun(内存搜索)
Function Run Fun Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 16503 Accepted: 8514 ...
- 1001. 杀死吸引力(3n+1)猜想 (15)(ZJUPAT 数学)
主题链接:http://pat.zju.edu.cn/contests/pat-b-practise/1001 卡拉兹(Callatz)猜想: 对不论什么一个自然数n,假设它是偶数,那么把它砍掉一半. ...
- WCF总结笔记
------------------------windowform承载服务步骤: (1)定义契约: using System; using System.Collections.Generic; u ...
- 让大蛇(Python)帮你找工作
前段时间用Python实现了一个网络爬虫(让大蛇(Python)帮你找工作),效率总体还可以,但是缺点就是每次都需要手动的去触发,于是打算对该爬虫加上Timer,经过网上一番搜索以及API的查询,发现 ...
- ASP.NET WebApi 开放数据
概述 开放式数据协议(OData) 是用于在 web 数据访问协议.它提供统一的方式来构造数据. 查询的数据和操纵数据集通过 CRUD 操作.它支持 AtomPub (XML) 和 JSON 格式.它 ...
- 利用redis的订阅和发布来实现实时监控的一个DEMO(Python版本)
redis的list类型有个很好的特性,就是每次添加元素后会返回当前list的长度,利用这个特点,我们可以监控它的长度,比如我们的key是用户注册的IP地址,list中存放的是已经在此IP地址上注册的 ...
- C#版考题
某软件大赛C#版考题整理——[单选题] 一.单选题(10小题共20.0分) 1. 以下JavaScript代码的正确输出结果是:(). 1 2 3 4 5 6 7 8 9 <script t ...
- UVA 408 (13.07.28)
Uniform Generator Computer simulations often require random numbers. One way to generatepseudo-ran ...
- tornado\ioloop.py单例
@staticmethod def instance(): """Returns a global `IOLoop` instance. Most application ...
- Hive UDAF开发之同时计算最大值与最小值
卷首语 前一篇文章hive UDAF开发入门和运行过程详解(转)里面讲过UDAF的开发过程,其中说到如果要深入理解UDAF的执行,可以看看求平均值的UDF的源码 本人在看完源码后,也还是没能十分理解里 ...