普通 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)
进行搜索.