我的一个现有项目存在问题,我自己无法解决。
我的工作区包含2个项目,我正在处理的MainTool(Logger)和第二个工具(XMLParser),它们都需要维护,编译和独立运行。
项目记录器:com.######.se.logger
项目XML:com.######.se.xml
现在出现了问题:
XMLParser读取文件,并创建com.######.se.**LOGGER**.rvctesting.Node
类型的对象。
LogTool采用这样的节点:
//This works cause I added XMLParser to BuildPath from Logger
XMLParser p = new XMLParser();
p.parseXML(path);
List<Node> list = p.getNodeList();
问题是我需要2次Node.java(在每个Project 1中)或2次Parser原因,否则,我的BuildPath中有一个Cycle。 (Logger依赖于XMLParser,XMLParser依赖于来自com的Node.java。######。se.logger.rvctesting)
但我想避免这种情况,因为这将是多余的,当然很难维持。另一种解决方案是将两个项目合并为一个项目。但随后它更难维护,两个项目都不再独立。
我知道这种描述不是真的可以想象。有没有人知道如何更改项目设置以符合我的要求?
答案 0 :(得分:1)
解决方案是制作第三个库 - 项目,原始项目依赖于该项目,并生成一个罐子。
构建基础架构(如 maven )非常适合此类依赖关系管理。每个IDE,eclipse都有插件,可以很好地集成。
它使代码重用变得有趣。
答案 1 :(得分:1)
您可以在Logger
中为类使用接口,并创建第三个项目Logger-api
,您可以在其中放置它们。你的两个项目都应该依赖于那个项目。这种方式Logger
可能取决于XML
和Logger-api
,而XML
只能依赖Logger-api
。