Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Virgo » Resolving uses violations
Resolving uses violations [message #873284] Thu, 17 May 2012 18:03 Go to next message
Rich Mayfield is currently offline Rich Mayfield
Messages: 44
Registered: August 2010
Member
This has had be stumped for quite awhile and I'm at a loss. I am trying to deploy a plan that includes a bundle that itself references a lot of components - the plan is scoped.

I've been trying to track down the problem, however the resolver report (see below) is lacking information I've seen posted in forums - like what package is causing the problem. From what I gather, "Cannot resolve:" should be followed by the package name. However in this case it cites the plan name-version-bundle name. Is there any way to turn up the volume/verbosity of these reports?

It's also not clear to me how this relates the package conflicts org.aopalliance. It looks like the aopalliance bundle is live in both kernel and user regions based on their bundle IDs (4 and 87). Is this OK, or bad? My plan does not explicitly reference the aopalliance or spring framework bundles.

Any help is really, really greatly appreciated. Thanks.

Cannot resolve: plan-1-com.acme.xxx
Resolver report:
Uses violation: <Import-Package: org.eclipse.persistence.logging; version="0.0.0"> in bundle <plan-1-com.acme.xxx_1.0.0[1337290355287]>
Resolver reported uses conflict for import
Uses violation: <Import-Package: org.eclipse.persistence.annotations; version="0.0.0"> in bundle <plan-1-com.acme.xxx_1.0.0[1337290355287]>
Resolver reported uses conflict for import
Uses violation: <Import-Package: org.eclipse.persistence.sessions; version="0.0.0"> in bundle <plan-1-com.acme.xxx_1.0.0[1337290355287]>
Resolver reported uses conflict for import
Uses violation: <Import-Package: org.eclipse.persistence.mappings.converters; version="0.0.0"> in bundle <plan-1-com.acme.xxx_1.0.0[1337290355287]>
Resolver reported uses conflict for import
Uses violation: <Import-Package: org.eclipse.persistence.jpa; version="0.0.0"> in bundle <plan-1-com.acme.xxx_1.0.0[1337290355287]>
Resolver reported uses conflict for import
Uses violation: <Import-Package: org.springframework.jca.work; version="3.0.0"> in bundle <plan-1-com.acme.xxx_1.0.0[1337290355287]>

Found conflicts:
package 'org.aopalliance.intercept_1.0.0' in bundle 'com.springsource.org.aopalliance_1.0.0[87]' used by 'org.springframework.jca.work_3.0.5.RELEASE' in bundle 'org.springframework.transaction_3.0.5.RELEASE[115]'
conflicts with 'org.aopalliance.intercept_1.0.0' in bundle 'com.springsource.org.aopalliance_1.0.0[4]' used by 'org.springframework.aop_3.0.5.RELEASE' in bundle 'org.springframework.aop_3.0.5.RELEASE[54]'
package 'org.aopalliance.aop_1.0.0' in bundle 'com.springsource.org.aopalliance_1.0.0[87]' used by 'org.springframework.jca.work_3.0.5.RELEASE' in bundle 'org.springframework.transaction_3.0.5.RELEASE[115]'
conflicts with 'org.aopalliance.aop_1.0.0' in bundle 'com.springsource.org.aopalliance_1.0.0[4]' used by 'org.springframework.aop_3.0.5.RELEASE' in bundle 'org.springframework.aop_3.0.5.RELEASE[54]'

Uses violation: <Import-Package: org.eclipse.persistence.mappings; version="0.0.0"> in bundle <plan-1-com.acme.xxx_1.0.0[1337290355287]>
Resolver reported uses conflict for import
Uses violation: <Import-Package: org.eclipse.persistence.platform.server; version="0.0.0"> in bundle <plan-1-com.acme.xxx_1.0.0[1337290355287]>
Resolver reported uses conflict for import
Uses violation: <Import-Package: org.eclipse.persistence.queries; version="0.0.0"> in bundle <plan-1-com.acme.xxx_1.0.0[1337290355287]>
Resolver reported uses conflict for import
Uses violation: <Import-Package: com.acme.xxx.internal.transaction; version="0.0.0"> in bundle <plan-1-synthetic.context_8.0.0[1337290355291]>
Resolver reported uses conflict for import constrained to bundle <plan-1-com.acme.xxx> constrained bundle version range "[1.0.0,1.0.0]"
with attributes {module_scope=plan-1}

Uses violation: <Import-Package: com.acme.xxx.logger; version="0.0.0"> in bundle <plan-1-synthetic.context_8.0.0[1337290355291]>
Resolver reported uses conflict for import constrained to bundle <plan-1-com.acme.xxx> constrained bundle version range "[1.0.0,1.0.0]"
with attributes {module_scope=plan-1}
Re: Resolving uses violations [message #873367 is a reply to message #873284] Fri, 18 May 2012 00:20 Go to previous messageGo to next message
Rich Mayfield is currently offline Rich Mayfield
Messages: 44
Registered: August 2010
Member
Well, good news, bad news. I removed almost everything from my plan so that Virgo finds and wires all of the various artifacts from the repository itself.

This seems to get past the old errors, however now I see an error with no real valuable information (and no dump). There is nothing following the "Unsatisfied leaf constraints". Is there information anywhere else to help understand what is going awry?

[2012-05-17 21:11:30.822] TCP Connection(6)-127.0.0.1 <DE0500E> Unable to install application from URI 'file:/Users/richmayfield/Desktop/virgo-jetty-server-3.5.0.M04/stage/my.plan'. Cannot satisfy constraints for bundle 'plan-1-com.acme.xxx' version '1.0.0'. Cannot resolve: plan-1-com.acme.xxx
Unsatisfied leaf constraints:

. org.eclipse.virgo.kernel.osgi.framework.UnableToSatisfyBundleDependenciesException: Unable to satisfy dependencies of bundle 'plan-1-com.acme.xxx' at version '1.0.0': Cannot resolve: plan-1-com.acme.xxx
Unsatisfied leaf constraints:

at org.eclipse.virgo.kernel.install.pipeline.stage.resolve.internal.ResolveStage.diagnoseResolutionFailure(ResolveStage.java:96)
at org.eclipse.virgo.kernel.install.pipeline.stage.resolve.internal.ResolveStage.process(ResolveStage.java:65)
at org.eclipse.virgo.kernel.install.pipeline.internal.StandardPipeline.doProcessGraph(StandardPipeline.java:62)
at org.eclipse.virgo.kernel.install.pipeline.internal.CompensatingPipeline.doProcessGraph(CompensatingPipeline.java:73)
at org.eclipse.virgo.kernel.install.pipeline.stage.AbstractPipelineStage.process(AbstractPipelineStage.java:41)
at org.eclipse.virgo.kernel.install.pipeline.internal.StandardPipeline.doProcessGraph(StandardPipeline.java:62)
at org.eclipse.virgo.kernel.install.pipeline.stage.AbstractPipelineStage.process(AbstractPipelineStage.java:41)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.driveInstallPipeline(PipelinedApplicationDeployer.java:360)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.doInstall(PipelinedApplicationDeployer.java:184)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.install(PipelinedApplicationDeployer.java:139)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.deploy(PipelinedApplicationDeployer.java:252)
at org.eclipse.virgo.kernel.deployer.management.StandardDeployer.deploy(StandardDeployer.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(ConvertingMethod.java:167)
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:96)
at com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(MXBeanIntrospector.java:33)
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)
at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)
at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)
at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)
at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
Re: Resolving uses violations [message #873445 is a reply to message #873284] Fri, 18 May 2012 04:58 Go to previous message
Rich Mayfield is currently offline Rich Mayfield
Messages: 44
Registered: August 2010
Member
2 things made this easy/easier to figure out.

1) Get everything out of the plan and put the jars in pickup
2) Edit the MANIFEST.MF of the bundle that would not resolve. Strip out the Import-Package entries until you find the one(s) preventing the bundle from resolving

My problem was that the bundle imported a package that was exported by a fragment. This may not be proper, but it works in plain'ol Equinox. This might be because it was a fragment on logback-core, which really lives in the kernel region - I'm still trying to get the hang of user versus kernel regions.
Previous Topic:Access rules in bundle dependencies which can't be changed
Next Topic:Weird bundle export problem (manifest being overwritten)
Goto Forum:
  


Current Time: Sat Jul 26 15:33:30 EDT 2014

Powered by FUDForum. Page generated in 0.02003 seconds