将一个罐子暴露在耳朵结构的许多战争中
Expose one jar to many wars in ear structure
我有一个带有 ear 结构的 Maven 项目,我正在将 ear 部署到 wildfly 9.0.0
我有一个带有 jpa 的 jar 做持久化,我有 3 个 wars 使用这个 jar,如果我在其中一个 wars 中的 pom 上导入这个 jar 就可以了,但如果我在两个 war 中导入此 jar,CDI 将不起作用。
我真正想做的是将这个罐子暴露给耳朵里的所有 wars 而不是在每个 war pom
中导入
您可以:
停止服务器
打开服务器配置文件。 (standalone/configuration/standalone.xml)
在配置文件中找到 EE 子系统配置元素。配置文件的配置文件元素包含几个子系统元素。 EE 子系统元素的命名空间为 urn:jboss:domain:ee:1.2.
必要时更换自动关闭标签
添加 ear-subdeployments-isolated 元素
启动服务器
请注意,这会禁用所有部署的子部署模块隔离,而不仅仅是此部署。
documentation for all deployments
如果您只想进行此特定部署,您应该:
添加部署描述符文件
添加 ear-subdeployments-isolated 元素
这对 JBOSS EAP 有效,它与 JBOSS wildfly 具有非常相似的行为。
编辑:正如@Will T 在 wars 的评论中正确指出的那样,应该添加范围为 <scope>provided<scope/>
的 jar 依赖项。
我有一个带有 ear 结构的 Maven 项目,我正在将 ear 部署到 wildfly 9.0.0
我有一个带有 jpa 的 jar 做持久化,我有 3 个 wars 使用这个 jar,如果我在其中一个 wars 中的 pom 上导入这个 jar 就可以了,但如果我在两个 war 中导入此 jar,CDI 将不起作用。
我真正想做的是将这个罐子暴露给耳朵里的所有 wars 而不是在每个 war pom
中导入您可以:
停止服务器
打开服务器配置文件。 (standalone/configuration/standalone.xml)
在配置文件中找到 EE 子系统配置元素。配置文件的配置文件元素包含几个子系统元素。 EE 子系统元素的命名空间为 urn:jboss:domain:ee:1.2.
必要时更换自动关闭标签
添加 ear-subdeployments-isolated 元素
启动服务器
请注意,这会禁用所有部署的子部署模块隔离,而不仅仅是此部署。 documentation for all deployments
如果您只想进行此特定部署,您应该:
添加部署描述符文件
添加 ear-subdeployments-isolated 元素
这对 JBOSS EAP 有效,它与 JBOSS wildfly 具有非常相似的行为。
编辑:正如@Will T 在 wars 的评论中正确指出的那样,应该添加范围为 <scope>provided<scope/>
的 jar 依赖项。