我打算从一个Java项目中提取几个类和包,然后将它们放到另一个Java项目中(这将有一个可分发的jar)。这一点并不太难,但当然如此大规模的重构会产生后果。也就是说,原始项目中有许多类是我想要提取的类的子类。处理这种重构的最佳方法是什么?
答案 0 :(得分:0)
您可以创建单独的项目,主项目将具有所有这些项目的依赖项。因此,在IDE中,您可以轻松浏览源代码。
构建应用程序时,每个依赖项都可以构建到jar
中,主应用程序将与其类路径中的所有依赖项jar捆绑在一起。
以使用插件的Web应用程序为例,使用存储在名为common-plugins的项目中的公共类,实用程序等插件。
project/webapp: having dependency on plugin1, plugin2 and common-plugin
project/plugin1: having dependency on common-plugins
project/plugin2: having dependency on common-plugins
project/common-plugins: having no dependencies
在构建项目时,您可以将插件和公共插件构建到与Web应用程序捆绑在一起的jar中
project/webapp.war/WEB-INF/lib/plugin1.jar
project/webapp.war/WEB-INF/lib/plugin2.jar
project/webapp.war/WEB-INF/lib/common-plugins.jar
这种方式在你的IDE中,我将以eclipse为例,你将拥有一个工作区,其中包含4个具有依赖关系的项目,如上所述。在使用maven,ant,ivy或者你想要的构建时,你将构建webapp项目依赖的3个项目,然后捆绑整个东西。
答案 1 :(得分:0)
基本上这就是我所做的:
创建新项目
将旧项目中的相应类复制到新项目中的新包中,重新配置直到所有内容都构建
单独测试该项目并将其构建到jar
将jar添加为依赖
从原始项目中删除类
手动将旧包中的所有导入更改为新包
我真正想要的是一些自动化或简化第6步的方法,以确保我没有破坏任何东西,但我不确定它是否存在超出质量查找/替换。