在Ear Project Structure Eclipse下的两个Java Dynamic Web项目之间共享src文件夹

时间:2014-06-21 07:31:27

标签: java eclipse google-app-engine

我只想澄清并知道,我们如何在Ear Project下的项目之间共享代码库,以下是我的项目布局

我有一个EAR项目,它添加了两个appengine动态Web应用程序项目,作为app1和app2

我在app1中拥有我所有的模型java类和服务类,现在我不想在app2中重写或重复这些文件,我只是想在app2的app1中使用这些类。

注意我没有使用maven,,因为(maven + appengine + eclipse)存在很多问题,我不想让事情复杂化。

简而言之,两个带有共享src文件夹或部分文件夹的Web应用程序项目是否可能?

非常感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:1)

你不能在两个war文件之间共享代码,你不应该这样做。

您必须将共享代码移动到jar项目,这是正确的方法。

如果你没有maven,你可以有一个ant文件

答案 1 :(得分:1)

在我看来,是的,这是可能的,并且通常将自己的项目中的图书馆外包以分享它们。

在Java(EE)项目中包含资源的相关位置是:

  1. Java构建路径
  2. Eclipse中的链接资源列表
  3. Eclipse中引用的库设置
  4. application.xml,web.xml或其他servlet容器特定文件等文件中的条目。
  5. 此外,您可以使用文件系统链接到文件夹或源文件。

    Eclipse项目设置中哪一个有用且可见取决于项目类型,Eclipse版本和插件以及servlet容器。 xml文件中的某些条目由Eclipse设置对话框管理,其他条目则不是。

    在您的情况下,我建议您创建一个新的库项目,比如“appLib”,并将公共代码放在那里。它仅包含app1和app2通用的代码。然后从app1和app2添加项目引用到appLib。

    这样的链接也可能有所帮助: How do I include a jar file into a lib folder of an ear file using ant?

    如果您共享这样的库,您可能会因为app1中的需要而遇到更改它的情况,然后您必须再次测试app2,因为编辑对app2可见,反之亦然。从而将错误从一个项目转移到另一个项目这可能非常紧张。最后,也许最好有一个版本化的源代码库供您的库和结帐,并将源包含到app1和app2项目中。因此,您可以更改一个应用程序和库,而不会立即打扰其他应用程序,然后将源合并到以后控制的库中,从而避免令人不安的副作用。

    Hth: - )