普通 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的 本站的开源代码板块有很多项目都是 ...
随机推荐
-
Java环境变量-Linux环境
环境变量说明 JAVA_HOME 它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk. PATH 作用是指定命令搜 ...
-
Mod4-PHP编码规范
loading... 归纳总结了能找到的一些编码规范,形成自己所需要的编码规范. 参考网址:1.2 一.文件格式 缩进使用四个空格,不使用制表符.左花括号不另起一行. if (1 == $x) { $ ...
-
Thinkphp .htaccess 与 httpd.ini文件重定向转换问题
.htaccess 文件内容 RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !- ...
-
关于adb驱动
Android设备(如手机)连接PC时所需要的驱动程序,一般Android设备连接WinXP是无需安装驱动的. adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb ...
-
在mac平台运行debug.exe
最近准备学习操作系统,想先复习一下汇编语言.因为用的是mac,而看的汇编教材(<汇编语言>王爽)使用到DOS下的debug,在网上搜了一圈发现,mac 也可以模拟运行debug. 先到网上 ...
-
hudson入门
持续集成hudson入门博客分类: Java 单元测试配置管理maven项目管理Tomcat 极限编程中一项建议实践便是持续集成,持续集成是指在开发阶段,对项目进行持续性自动化编译.测 ...
-
(转)hibernate 之hiberante.hbm2ddl.auto 参数的配置
我们在搭建环境的时候,在配置文件中有一个属性标签为: 完整配置如下 <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernat ...
-
oracle连接数据库和连接表的操作
1.连接测试是否连接oracle成功 (1).tnsnames.ora文件配置 oracle65= (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCO ...
-
CVE-2015-1641 Office类型混淆漏洞及shellcode分析
作者:枕边月亮 原文来自:CVE-2015-1641 Office类型混淆漏洞及shellcode分析 0x1实验环境:Win7_32位,Office2007 0x2工具:Windbg,OD,火绒剑, ...
-
Mac上反编译Android apk安装包
什么是反编译 我们知道,Android的程序打包后会生成一个APK文件,这个文件可以直接安装到任何Android手机上,因此,反编译就是对这个APK进行反编译.Android的反编译分成两个部分: 一 ...