Ha, did you try upgrading to 4.6.0.2?
Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau 2014-08-11 17:33 GMT+02:00 Chambery, Todd <[email protected]>: > Setting openejb.additional.exclude=runtime-6.1 causes the following exception: > > Caused by: java.lang.UnsupportedOperationException > at java.util.AbstractList.add(AbstractList.java:148) > at java.util.AbstractList.add(AbstractList.java:108) > at > org.apache.openejb.config.NewLoaderLogic.getExclusions(NewLoaderLogic.java:222) > at > org.apache.openejb.config.NewLoaderLogic.applyBuiltinExcludes(NewLoaderLogic.java:165) > at > org.apache.openejb.config.NewLoaderLogic.applyBuiltinExcludes(NewLoaderLogic.java:161) > at > org.apache.openejb.config.DeploymentsResolver.loadFromClasspath(DeploymentsResolver.java:238) > at > org.apache.openejb.config.ConfigurationFactory.getModulesFromClassPath(ConfigurationFactory.java:564) > at > org.apache.openejb.OpenEjbContainer$Provider.load(OpenEjbContainer.java:512) > at > org.apache.openejb.OpenEjbContainer$Provider.createEJBContainer(OpenEjbContainer.java:337) > ... 28 more > > which I assume has something to do with it being an AbstractList: > > /** > * {@inheritDoc} > * > * <p>This implementation always throws an > * {@code UnsupportedOperationException}. > * > * @throws UnsupportedOperationException {@inheritDoc} > * @throws ClassCastException {@inheritDoc} > * @throws NullPointerException {@inheritDoc} > * @throws IllegalArgumentException {@inheritDoc} > * @throws IndexOutOfBoundsException {@inheritDoc} > */ > public void add(int index, E element) { > throw new UnsupportedOperationException(); > } > > I'm using OpenEJB core 4.5.1: > > <dependency> > <groupId>org.apache.openejb</groupId> > <artifactId>openejb-core</artifactId> > <version>4.5.1</version> > <scope>test</scope> > <exclusions> > <exclusion> > <artifactId>slf4j-jdk14</artifactId> > <groupId>org.slf4j</groupId> > </exclusion> > </exclusions> > </dependency> > > <dependency> > <groupId>org.apache.openejb</groupId> > <artifactId>javaee-api</artifactId> > <version>6.0-4</version> > <scope>provided</scope> > </dependency> > > > > -----Original Message----- > From: Romain Manni-Bucau [mailto:[email protected]] > Sent: Monday, August 11, 2014 11:07 AM > To: [email protected] > Subject: Re: How to exclude jar from module search? > > Hi > > you can use -Dopenejb.additional.exclude=runtime-6.1 IIRC. > > deployments.classpat properties works in openejb but are hard to configure > (path) and doesnt work in tomee. > > > Romain Manni-Bucau > Twitter: @rmannibucau > Blog: http://rmannibucau.wordpress.com/ > LinkedIn: http://fr.linkedin.com/in/rmannibucau > Github: https://github.com/rmannibucau > > > 2014-08-11 16:26 GMT+02:00 Chambery, Todd <[email protected]>: >> Hi, >> >> I posted the below question to StackOverflow >> (http://stackoverflow.com/questions/25187808/openejb-how-to-exclude-jar-from-module-search), >> but maybe I have a better chance to get a response here: >> >> >> I use OpenEJB to run unit tests for applications ultimately deployed to >> WebSphere Application Server. My problem is a(n unavoidable) dependency on >> the WAS runtime jar. I've added an expression to the exclude property (I've >> also tried the physical path): >> >> p.put("openejb.deployments.classpath.exclude", ".*?runtime-6.1.*?"); >> // p.put("openejb.deployments.classpath.exclude", >> "C:/Users/user/.m3/repository/was/runtime/6.1/runtime-6.1.jar"); >> p.put("openejb.exclude-include.order", "include-exclude"); >> >> This value is confirmed in the logs: >> >> OpenEJB.options-2014-08-07-main--INFO -OpenEJB.options:Using >> 'openejb.exclude-include.order=include-exclude' >> OpenEJB.options-2014-08-07-main--INFO -OpenEJB.options:Using >> 'openejb.deployments.classpath.include=.*eed-jar.*' >> OpenEJB.options-2014-08-07-main--INFO -OpenEJB.options:Using >> 'openejb.deployments.classpath.exclude=.*?runtime-6.1.*?' >> >> but the jar is still being inspected for loadable modules: >> >> OpenEJB.startup.config-2014-08-07-main--INFO >> -OpenEJB.startup.config:Found EjbModule in classpath: >> C:\Users\user\.m3\repository\was\runtime\6.1\runtime-6.1.jar >> >> The result is startup failure for OpenEJB: >> >> org.apache.openejb.OpenEjbContainer$InvalidApplicationException: >> org.apache.openejb.config.ValidationFailedException: Module failed >> validation. AppModule(name=) and >> WARNING: can't load com.ibm.ws.management.j2ee.ManagementBean >> org.apache.openejb.OpenEJBRuntimeException: Management >> >> I've been creating a 0-length dummy file and renaming runtime-6.1.jar to >> execute the tests in Eclipse, but I need to restore the jar to run the Maven >> build (which Eclipse will then bind to, necessitating a restart to rename >> the jar). >> >> What's the right way to exclude this jar? >> >> Thanks, >> Todd >> >> ---------------------------------------------------------------------- >> This message, and any attachments, is for the intended recipient(s) only, >> may contain information that is privileged, confidential and/or proprietary >> and subject to important terms and conditions available at >> http://www.bankofamerica.com/emaildisclaimer. If you are not the intended >> recipient, please delete this message. > > ---------------------------------------------------------------------- > This message, and any attachments, is for the intended recipient(s) only, may > contain information that is privileged, confidential and/or proprietary and > subject to important terms and conditions available at > http://www.bankofamerica.com/emaildisclaimer. If you are not the intended > recipient, please delete this message.
