在 Eclipse 中使用循环导入构建 Java 项目

发布于 2024-08-24 19:15:46 字数 430 浏览 5 评论 0原文

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

因为它不是我自己的,所以我无法谈论设计的质量,但我遇到了很多这样的情况:

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

import com.acme.lib_b.onething;

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

import com.acme.lib_a.anotherthing;

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

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

I have a legacy Java (not my native language) app that I'm trying to build in Eclipse Galileo.

As it's not my own, I can't speak to the quality of the design, but I am coming across a number of instances where I'll have something like this:

In a project called, say, "lib_a", I'll have a file containing this:

import com.acme.lib_b.onething;

Project "lib_b" on the other hand, will contain:

import com.acme.lib_a.anotherthing;

Of course, the problem is that one project can't be built because the errors prevent me from creating a .jar file that can be added as an external archive to the other project, and vice versa.

It seems to me that this must be a fairly common occurence in building Java applications. Rewriting it from scratch is not an option here, so I'd like to know "what other folks do."

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

瑶笙 2024-08-31 19:15:47

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

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

Maybe if onething and anotherthing aren't core parts of each project (e.g., utility classes), then you could move one into the other project to make the references one-way, or create a common util.jar.

Otherwise I would merge the projects if they are interrelated to a great extent.

淡紫姑娘! 2024-08-31 19:15:47

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

  • 这两个库中有公共部分,应该将其重构为“公共”库
  • 这两个库实际上是同一个库的两半,应该合并
  • 一个库依赖于另一个库的“内部”,并且一些接口应该被引入来打破这种不良的依赖

Basically a sign of poor design. Possible solutions

  • there are common parts in the 2 libs that should be refactored into a "common" library
  • both libraries are really 2 halves of the same library and should be combined
  • one library is relying on the "internals" of another library and some interfaces should be introduced to break this bad dependency
ㄖ落Θ余辉 2024-08-31 19:15:47

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

如果没有 B 就不能使用 A,并且没有 A 就不能使用 B,那么拥有单独的 JAR 文件似乎不是很有用。

I'd just merge them as a single project.

If you cant use A without B and you cant use B without A having separate JAR files doesn't seem very useful.

鹿港巷口少年归 2024-08-31 19:15:46

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

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

You can link projects in eclipse, so you're essentially declaring one project as a dependency of another, just like declaring a jar.

Project:-> Properties -> click on the "projects" tab, click "add", and you'll have the option of any open project.Additionally eclipse tracks these so that when you open "A" linked project "B" opens.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文