当前位置: 首页 > 知识库问答 >
问题:

GlassFish:在部署期间修改EAR的部署描述符

冉伯寅
2023-03-14

经过几天的搜索、尝试和尝试,我把这个问题发到了SO上,尽管它似乎已经得到了答案。

这是一个场景:我有一个EAR应用程序,包含(目前)一个WAR和一个EJB模块。EJB模块使用JPA(persistence.xml)并通过Web服务公开一些无状态会话bean。web服务使用jdbc领域的基本身份验证。web模块使用相同领域的表单身份验证。

    null

在我的研究过程中,我管理了以下几个方面:

  • 我可以使用asadmin set-web-context-param
  • 重写javax.faces.project_stage
  • 我可以在asadmin deploy
  • 期间使用部署计划重写glassfish-ejb-jar.xml中的所有设置
  • 这同样适用于glassfish-application.xml
  • 我可能可以在asadmin deploy期间覆盖context-root(我不知道这将如何与EAR中的多个web模块一起工作)

到目前为止还不错。这就给我留下了以下几个问题:

    null

任何帮助或指针将非常感谢。

共有1个答案

颛孙铭
2023-03-14

您是否考虑过为部署描述符准备模板,并在构建期间使用属性文件中的值填充它们?如果您使用的是ant,那么就可以使用expandproperties筛选器。

 类似资料:
  • 这个版本规范的部署描述文件可在此下载:http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd

  • 本章指定的 Java™ Servlet 规范要求 Web 容器支持部署描述文件。部署描述文件表达了应用开发人员、应用集成人员和 Web 应用部署人员之间的元素和配置信息。 对于 Java Servlet 2.4 和以后的版本,部署描述文件在 XML 模式文档中定义。 为了向后兼容到2.2版本的API编写的应用程序,Web 容器也需要支持2.2版本的部署描述文件。为了向后兼容2.3版本的API编写的

  • 本节举例说明部署描述文件中的元素。属性没有在图中显示。详细信息请参阅部署描述文件模式。 1.web-app元素 web-app 元素是一个 Web 应用程序的根部署描述符。此元素包含下列元素。这个元素有一个必需的属性 version 来指定部署描述符符合哪个版本的模式。此元素的所有子元素可以是任意的顺序。 FIGURE 14-1 web-app Element Structure 2.descri

  • 所有servlet容器的Web应用程序部署描述文件需要支持以下类型的配置和部署信息: ServletContext初始化参数 Session配置 Servlet声明 Servlet映射 应用程序生命周期监听器类 过滤器定义和过滤器映射 MIME类型映射 欢迎文件列表 错误页面 语言环境和编码映射 安全配置,包括login-config,security-constraint,security-co

  • 以下示例是注册两个 Servlet 上下文生命周期监听器和一个HttpSession 监听器的部署语法。 假设 com.acme.MyConnectionManager 和 com.acme.MyLoggingModule两个都实现了 javax.servlet.ServletContextListener,且com.acme.MyLoggingModule 又实现了javax.servlet.h

  • 如果 Web 应用不包含任何 servlet、过滤器、或监听器组件或使用注解声明相同的,那么可以不需要 web.xml 文件。换句话说,只包含静态文件或 JSP 页面的应用程序并不需要一个 web.xml 的存在。