32

我有 Project1 和 Project2。Project1 依赖于 Project2。我有点累,每次我在 Project2 中进行一些代码更改时,我都必须导出 Project2 JAR 文件,并将其复制到 Project1 的 lib 文件夹中。

有没有办法自动实现这一点?或者,有没有其他方法可以让 Project1 知道 Project2 发生了一些变化?

在项目的构建路径中,有一种方法可以指定对工作区中其他项目的引用,但这似乎没有任何作用?它实际上是做什么的?

我在某处读到我可以使用部署属性来自动化这个过程,但我找不到它。

更新: 呃,我是 C# 开发人员,在 Java 开发(主要是 Android 开发)方面有一些经验,我可能会问一些愚蠢的问题,所以请多多包涵……

Project1 是标准Java 项目(在客户端机器上运行,使用swing 等)。Project2 是动态 Web 项目(对我来说原因不明)。它唯一要做的就是调用 webservice(我不需要担心的第三个项目)并将结果传递回 Project1。Project2 包含那些 Axis2 webserviceStub.java 文件...每个人都知道然后,我必须重新创建这些存根文件,然后我必须导出 JAR 文件并将其移动到 Project1。Project2,虽然是Web Project,但实际上是在客户端运行的代码。

构建路径中的简单项目引用对我不起作用。

谢谢

4

2 回答 2

47

右键单击Project1,然后单击Properties。在出现的对话框中,选择Java Build Path,然后单击Projects选项卡。在那里,将 Project2 添加到构建路径。

如果Project1是一个 Web 应用程序,您需要确保您的部署程序集(相同的属性UI)也有Project2

于 2012-04-10T14:43:46.423 回答
7

在 Eclipse 中,当构建 Java 项目时,.java源文件夹中的每个文件都被编译并将.class文件保存到输出文件夹中。源文件夹中的非 java 文件原封不动地复制到输出文件夹中的相应文件夹层次结构中。

When adding "referenced projects" within a workspace in Eclipse via Java Build Path, i.e. adding Project2 to Project1's build path, what you are actually doing is telling the project builder to use the output folder of Project2 when building Project1 (NOTE: not only the output folder, but also exported libraries).

So if the answer from kozyr does not work for you, check the "output folder" configuration of Project2.

于 2012-04-10T15:00:36.160 回答