6

我的情况是,我基本上希望能够在 Eclipse 中拥有一个 Web 项目,其中 WebContents 文件夹是从多个项目合并而来的,而不仅仅是一个动态 Web 项目。

如果我在项目 A 中有“a.jsp”,在项目 B 中有“b.jsp”,我想在“a.jsp”和“b.jsp”所在的 Web 容器中得到一个 Web 应用程序在同一个文件夹中彼此相邻。如果所有文件,而不仅仅是 jsp 文件,都可以像这样合并,那将是完美的。

这是为了能够拥有我们应用程序的核心版本,但能够轻松处理客户特定的更改。

我知道我可以使用合适的 ant 魔法来做到这一点,但我们希望有一些适合我们当前基于 Eclipse 的开发过程的东西。我们将在 Java 类上使用 JSR-330 依赖注入,基本上我想要一些类似于依赖注入的东西,但只适用于任何资源,而不仅仅是类。

Eclipse 可以做到这一点吗?

如果 Eclipse 不能,EAR 部署是否合适?我目前只有 WAR 的经验。

4

4 回答 4

1

如果使用 Maven 是一个选项,那么 Maven覆盖在这里将是完美的,理论上它应该由 m2eclipse 插件支持。但是我对此没有任何经验,并且可能存在一些问题(请参阅MNGECLIPSE-599),因此需要进行一些测试。

尽管如此,MNGECLIPSE-599的评论还是很有趣的,尤其是这个:

对这个问题有爱吗?因此,我们整个团队都转移到 Netbeans 进行 WAR 开发。我们基本上在等待 Servlet 3.0 为我们解决这个问题(Servlet 3.0 将有效地否定我们在 Maven 中做覆盖的需要)我们公司在减少复制粘贴方面很重要,所以我们使用覆盖来管理我们必须常见的 WAR 媒体应用。

Java EE 6 使覆盖过时的方式对我来说不是很清楚(通过 Web 片段?),但事实是Eclipse 的支持 Java EE 6 的 WTP 版本已推迟到2010 年 6 月。因此,在那之前,您将需要额外的工具(例如 maven 覆盖),或者应该考虑切换到 NetBeans。

于 2010-01-07T11:09:09.993 回答
1

我有一个类似的用例,我通过使用(如 Pascal 建议的)Maven 成功解决了这个用例。我有一个根 Web 项目(也可以独立工作),并且对于每个客户端,我都有一个单独的 Web 项目,该项目配置为与根 Web 项目重叠。此外,由于每个客户端都有多个环境,我为每个环境(测试、产品、本地......)创建了一个 Maven 配置文件。我对此进行了一些记录,因此如果您有兴趣,我不介意将文档邮寄给您。

于 2010-07-05T08:37:38.240 回答
0
  • 您无需更改“基于 Eclipse 的开发过程”即可使用 ant。只需注册一个 Ant builder ( right click project > Properties > Builders) 并将 ant 脚本与您的 eclipse 进程集成
  • 您可以使用 Maven 的多模块选项。(eclipse的maven插件也很不错)
  • use 也可以使用FileSync - 不是行业标准但非常强大。当然,它用于在 上进行开发localhost

以下是使用 FileSync 的一些提示:

  • 设置将哪些文件/文件模式/目录复制到目标目录(webapps/application在您的情况下为 Tomcat)。因此,只要您按下“保存”,文件就会被复制。
  • FileSync.xxxx.prefs通过引入链接资源(preferences > workspace > linked resources)并使用 prefs 文件中的链接资源变量(让我们调用它WEBAPP_HOME),在相对路径中创建所有绝对路径
  • 提交FileSync.xxxx.prefs文件
  • 告诉团队中的每个开发人员配置WEBAPP_HOME变量。因此,该设置不会仅对一台机器有效,而是对团队中的每台机器有效。
于 2010-01-07T09:56:39.267 回答
0

我建议使用 servlet 3.0“捆绑 jar 文件中的资源”功能。使用此功能,您可以在 jar 文件(当然还有 java 类文件)中包含 Web 资源(html/xhtml/css/js/jpg/etc),Web 服务器将搜索“META-INF/resources”文件夹资源的罐子。

更多细节在这里:

http://alvinjayreyes.com/2013/07/28/servlet-3-0/

于 2015-01-06T14:15:53.253 回答