【问题标题】:How to set env entries for deployment如何为部署设置 env 条目
【发布时间】:2016-07-30 02:40:21
【问题描述】:

我有一个通过 RESTful API 与其他服务通信的 JavaEE 应用程序。远程服务的主机名:端口通过环境条目设置(web.xml 中的<env-entry/>,不要与环境变量混淆!)。这个值是后来通过@Resource注解的字段获得的。

由于构建过程与部署隔离,我想将web.xml(变量设置为localhost)中的默认值覆盖为实际主机名,最终以app.war 结束。我想这是通过提供另一个 web.xmljboss-web.xml (在 WildFly 上)以及 来完成的,但我找不到这是如何设置的;我想这一定是一个简单的过程,不涉及重新打包app.war

【问题讨论】:

  • 这是您要找的吗?:stackoverflow.com/questions/3298763/…
  • 不,那告诉你如何通过profile切换app.war的内容。我想要单个app.war,并且仅在部署期间配置环境条目(当源和Maven不可用时)。
  • 其实我从来没有使用过这种配置(首选属性文件),但似乎这种机制是使用JNDI。因此,也许这个链接可能会有所帮助:docs.jboss.org/author/display/WFLY8/JNDI+Reference
  • 我之前读过那个文档,但我看不到如何设置本地 JNDI 属性(显然,它不在standalone.xml 中,因为它只允许设置全局属性)。

标签: jakarta-ee deployment jboss wildfly web.xml


【解决方案1】:

您可以使用描述符替换属性。也许这些链接可以帮助你:

Java EE Application Deployment and Configuration

Property substitution of deployment descriptor

【讨论】:

  • 根据第二个文档,这些属性只允许覆盖 jboss-web.xml - 默认情况下是否允许覆盖 web.xml?
  • 你可以使用jboss-web.xml,它可以代替web.xml。所以你应该能够实现属性覆盖。 docs.jboss.org/author/display/WFLY8/…
  • 这不是很方便,因为 WAR 不应该与 WildFly 绑定(添加 jboss-web.xml 有点暗示)。
猜你喜欢
  • 1970-01-01
  • 2022-12-16
  • 2023-02-07
  • 2016-04-18
  • 2018-09-05
  • 2022-01-14
  • 2011-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多