3

我有一个正在尝试在 Eclipse Galileo 中构建的遗留 Java(不是我的母语)应用程序。

因为它不是我自己的,所以我不能谈论设计的质量,但我遇到了很多这样的例子:

在一个名为“lib_a”的项目中,我将有一个包含以下内容的文件:

import com.acme.lib_b.onething;

另一方面,项目“lib_b”将包含:

import com.acme.lib_a.anotherthing;

当然,问题是无法构建一个项目,因为错误阻止我创建可以作为外部存档添加到另一个项目的 .jar 文件,反之亦然。

在我看来,这在构建 Java 应用程序中一定是相当普遍的现象。从头开始重写它不是一个选择,所以我想知道“其他人在做什么”。

4

4 回答 4

4

您可以在 Eclipse 中链接项目,因此您实际上是在将一个项目声明为另一个项目的依赖项,就像声明一个 jar 一样。

项目:-> 属性-> 单击“项目”选项卡,单击“添加”,您将可以选择任何打开的项目。此外,eclipse 会跟踪这些,以便当您打开“A”链接项目“B”时打开.

于 2010-03-10T16:45:18.507 回答
2

也许如果一个和另一个不是每个项目的核心部分(例如,实用程序类),那么您可以将一个移到另一个项目中以使引用单向,或创建一个通用的 util.jar。

否则,如果它们在很大程度上相互关联,我会合并这些项目。

于 2010-03-10T16:49:00.453 回答
2

基本上是设计不佳的标志。可能的解决方案

  • 2 个库中有一些公共部分应重构为“公共”库
  • 两个库实际上是同一个库的两半,应该合并
  • 一个库依赖于另一个库的“内部”,应该引入一些接口来打破这种糟糕的依赖关系
于 2010-03-10T17:44:47.960 回答
1

我只是将它们合并为一个项目。

如果你不能在没有 B 的情况下使用 A 并且你不能在没有 A 的情况下使用 B 有单独的 JAR 文件似乎不是很有用。

于 2010-03-10T16:46:00.690 回答