java - Ear项目结构Eclipse下的两个Java动态Web项目之间共享src文件夹

标签 java eclipse google-app-engine

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

我有一个 EAR 项目,其中添加了两个 appengine 动态 Web 应用程序项目,即 app1 和 app2

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

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

简而言之,两个具有共享 src 文件夹或其中一部分的 Web 应用程序项目,可能吗?

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

最佳答案

在我看来,是的,这是可能的,而且在自己的项目中外包库以共享它们通常是有意义的。

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

  1. Java 构建路径
  2. Eclipse 中的链接资源列表
  3. Eclipse 中引用的库设置
  4. 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/

相关文章:

java - Swagger 与 Spring-MVC 和自定义序列化器

Java ServerSocket & Sockets 无需等待多线程服务器

java - 如何将我的 Eclipse Maven Selenium Webdriver TestNG Java 项目从一台 PC 传输到另一台 PC?

python - 谷歌应用引擎 : Give arguments to a script from URL handler?

Java Swing - JLabel 位置

java - TableLayout 和 TableRow 内的 TextView 不换行文本

java - Java中不同部署单元中相同包中同名的类是否会发生冲突

java - hamcrest 匹配器的语法

python - 谷歌应用引擎 : how can I programmatically access the properties of my Model class?

java - Google App Engine 使用 Blobkey