我只是想澄清并了解,我们如何在 Ear Project 下的项目之间共享代码库,以下是我的项目布局
我有一个 EAR 项目,其中添加了两个 appengine 动态 Web 应用程序项目,即 app1 和 app2
我的所有模型java类和服务类都在app1中,现在我不想在app2中重写或复制这些文件,我只想在app2中的app1中使用这些类。强>
注意:我没有使用maven,因为(maven + appengine + eclipse)存在很多问题,而且我不想让事情变得复杂。
简而言之,两个具有共享 src 文件夹或其中一部分的 Web 应用程序项目,可能吗?
非常感谢任何帮助,谢谢!
最佳答案
在我看来,是的,这是可能的,而且在自己的项目中外包库以共享它们通常是有意义的。
在 Java (EE) 项目中包含资源的相关位置是:
- Java 构建路径
- Eclipse 中的链接资源列表
- Eclipse 中引用的库设置
- application.xml、web.xml 或其他 servlet 容器特定文件等文件中的条目。
此外,您还可以使用指向文件夹或源文件的文件系统链接。
哪一个有用且在 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 可见,反之亦然。从而将错误从一个项目转移到另一个项目。这可能会带来很大的压力。最后,也许最好为您的库提供一个版本化的源代码库,并 checkout 源代码并将其包含到 app1 和 app2 项目中。因此,您可以更改一个应用程序和库,而不会立即干扰另一个应用程序,然后将源合并到稍后控制的库中,从而避免令人不安的副作用。
第一个:-)
关于java - Ear项目结构Eclipse下的两个Java动态Web项目之间共享src文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24339432/