如何避免构建路径中的循环(特定项目设置)

时间:2013-12-11 18:29:18

标签: java buildpath

我的一个现有项目存在问题,我自己无法解决。

我的工作区包含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)

但我想避免这种情况,因为这将是多余的,当然很难维持。另一种解决方案是将两个项目合并为一个项目。但随后它更难维护,两个项目都不再独立。

我知道这种描述不是真的可以想象。有没有人知道如何更改项目设置以符合我的要求?

2 个答案:

答案 0 :(得分:1)

解决方案是制作第三个库 - 项目,原始项目依赖于该项目,并生成一个罐子。

构建基础架构(如 maven )非常适合此类依赖关系管理。每个IDE,eclipse都有插件,可以很好地集成。

它使代码重用变得有趣。

答案 1 :(得分:1)

您可以在Logger中为类使用接口,并创建第三个项目Logger-api,您可以在其中放置它们。你的两个项目都应该依赖于那个项目。这种方式Logger可能取决于XMLLogger-api,而XML只能依赖Logger-api