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.

Reply via email to