Java 将多个EAR实例(表示版本)部署到Glassfish

Java 将多个EAR实例(表示版本)部署到Glassfish,java,deployment,jakarta-ee,glassfish,ear,Java,Deployment,Jakarta Ee,Glassfish,Ear,我基本上希望能够将同一EAR文件的多个版本部署到同一台服务器(Glassfish实例?),并且每个版本都有一个唯一的路径来分隔它们 从我的阅读来看,似乎多个EAR部署到web服务器名称空间的根,这样,如果它们没有冲突的上下文根,它们就可以共存 在我的情况下,我宁愿使用它,而不是“/”下的所有内容,我希望能够标记一个给定的EAR文件构建,以便始终部署在给定的路径下,如“/foo-20100319”或“/foo-CUSTOMER-20010101”。只需重命名一个WAR文件,就可以轻松地完成此操作。

我基本上希望能够将同一EAR文件的多个版本部署到同一台服务器(Glassfish实例?),并且每个版本都有一个唯一的路径来分隔它们

从我的阅读来看,似乎多个EAR部署到web服务器名称空间的根,这样,如果它们没有冲突的上下文根,它们就可以共存

在我的情况下,我宁愿使用它,而不是“/”下的所有内容,我希望能够标记一个给定的EAR文件构建,以便始终部署在给定的路径下,如“/foo-20100319”或“/foo-CUSTOMER-20010101”。只需重命名一个WAR文件,就可以轻松地完成此操作。我不需要也不希望他们互相打扰

据我所知,此重新映射不在application.xml文件的范围内,因此我发现可以指定web uri和上下文根,但我不确定是否可以在Glassfish中使用这些来指定我希望做的事情

我应该如何处理这个问题?我完全可以控制构建过程

(我已经找到了,但我不确定如何将其应用到我需要的东西上)。

。您也可以使用

由于您可以完全控制构建过程,因此选择权归您


你可能想。它允许您在部署处理之前将其他文件混合到部署的存档中。。。因此,您可以创建一个“通用”ear文件和一些较短的deploymentplan文件,这些文件“混合”在创建自定义部署所需的sun-application.xml文件中。

Ah,因此,与其告诉Glassfish透明地为webapp添加一个新的根目录,如/foo-1235,您建议我只是在部署描述符中告诉它,所有web应用程序都有一个/foo-1235/foo路径。我会试试。除了部署描述符,没有办法告诉Glassfish为ear或嵌入到ear中的webapp添加contextroot。我打开了一个增强功能,可能会抓住你的想法。如果我误解了你的意图,请评估并澄清:它看起来像我需要的。我们将要重写我们的部署方案,所以我将考虑这一点。