我只想澄清并知道,我们如何在Ear Project下的项目之间共享代码库,以下是我的项目布局
我有一个EAR项目,它添加了两个appengine动态Web应用程序项目,作为app1和app2
我在app1中拥有我所有的模型java类和服务类,现在我不想在app2中重写或重复这些文件,我只是想在app2的app1中使用这些类。
注意:我没有使用maven,,因为(maven + appengine + eclipse)存在很多问题,我不想让事情复杂化。
简而言之,两个带有共享src文件夹或部分文件夹的Web应用程序项目是否可能?
非常感谢任何帮助,谢谢!
答案 0 :(得分:1)
你不能在两个war文件之间共享代码,你不应该这样做。
您必须将共享代码移动到jar项目,这是正确的方法。
如果你没有maven,你可以有一个ant文件
答案 1 :(得分:1)
在我看来,是的,这是可能的,并且通常将自己的项目中的图书馆外包以分享它们。
在Java(EE)项目中包含资源的相关位置是:
此外,您可以使用文件系统链接到文件夹或源文件。
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: - )