2012-04-10 87 views
22

我有Project1和Project2。 Project1是依赖于Project2。 我有些厌倦,每次我在Project2中进行一些代码更改时,我必须导出Project2 JAR文件,并将其复制到Project1的lib文件夹中。如何在Eclipse中引用不同的Java项目

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

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

我正在阅读某处可以使用“部署属性”自动化此过程的地方,但找不到它。

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

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

在构建路径只是简单的项目引用不适用于我。

感谢

+2

“对Workspace中其他项目的引用”应该有效。 – kosa 2012-04-10 14:40:45

+0

您也可以进入项目属性并检查“is Library”,然后像Project1中的任何其他外部库一样引用它。 – Chris 2012-04-10 14:41:59

+0

是的,在构建路径中为我工作。你可能错过了一个步骤。 – adarshr 2012-04-10 14:43:34

回答

34

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

如果PROJECT1是一个Web应用程序,你需要确保你的部署大会(相同属性 UI)具有Project2的有作为。

+0

请参阅我的更新... – bobetko 2012-04-10 15:01:19

+1

尝试在生成存根文件后刷新这两个项目(右键单击 - >刷新),并查看是否有帮助。另外,如果存根位于Project2中的某个独立的src目录(来自主src目录),请确保dir也在Project2的“Java Build Path”的“Order and Export”选项卡中导出。 – kozyr 2012-04-10 15:33:37

+0

谢谢。刷新做了诀窍。现在,问题是......当我要将Project1部署到客户端时,我是否必须包含Project2的JAR文件呢?为什么原始程序员会选择复制JAR文件以供项目参考? – bobetko 2012-04-10 16:07:31

4

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

当通过Java构建路径,即增加Project2Project1的构建路径,将在Eclipse工作区中的“引用的项目”有什么你实际上做的是告诉项目构建使用的输出文件夹Project2建筑时Project1(注意:不仅是输出文件夹,还有导出库)。

因此,如果kozyr的答案不适用于您,请检查Project2的“输出文件夹”配置。

+0

谢谢。非常有用的信息。 – bobetko 2012-04-10 16:09:59

相关问题