java ee - How to isolate / remove 1 subsystem, jar in a multi-war ear deployment -
currently i'm testing multi-war modules inside ear deployment.
basically have 2 wars dependent on: hibernate-validator further dependent on: javax.validation.api , contains validatorfactory. think cause activation of jca subsystem.
what don't understand why getting:
caused by: org.jboss.msc.service.duplicateserviceexception: service jboss.naming.context.java.module.xxx-ear.cmp.validatorfactory registered"}, i understand have defined them on 2 separate wars aren't supposed isolated?
i tried adding jboss-deployment-structure.xml in ear's meta-inf folder contains:
<?xml version="1.0" encoding="utf-8"?> <jboss-deployment-structure> <!-- make sub deployments isolated default, cannot see each others classes without class-path entry --> <ear-subdeployments-isolated>true</ear-subdeployments-isolated> <deployment> <exclusions> <module name="javax.validation.api" /> </exclusions> </deployment> <sub-deployment name="xxx-api.war"> <exclusions> <module name="javax.validation.api" /> </exclusions> <exclude-subsystems> <subsystem name="jca" /> </exclude-subsystems> </sub-deployment> <sub-deployment name="xxx-web.war"> <exclusions> <module name="javax.validation.api" /> </exclusions> </sub-deployment> </jboss-deployment-structure> i tried excluding jar in deployment , sub-deployment - failed. tried excluding whole subsystem in main deployment or sub-deployment failed.
any idea how solve kind of issue? if have jar 2 wars depend, case assume have similar issue.
the problem on 1 not related pom nor jboss-deployment-structure rather on web.xml. have accidentally set same module name on both war causing name collision. name same package name error got me confused. in case encounter same issue, check web.xml first.
Comments
Post a Comment