Thanks all for the help.

Stuart, I think "mvn clean install pax:provision -U" did the trick and it
gets to the point where it tries to start and run the bundle on Felix. It is
weird that a combination of "mvn install" followed by "mvn pax:provision"
didn't do the job ...

Now I have a dummy problem. I believe pax provision should be able to pull
the dependencies off the network and launch them on the framework. isn't it
so? However, when I run "mvn clean install pax:provision -U" it stops at the
point where it stopped for Alin, complaining about an unresolved constraint
in bundle 1: package; (package=org.apache.log4j) for the servlet.

I also tried embedding the dependencies when building the bundle using
<Embed-Dependency> and <Embed-Transitive> but the problem got worse as it
started nagging about (package=javax.jms).

so, is it a problem with "pax provision" not being able to pull out the
dependencies, or am I doing something wrong when trying to get the bundles
and their dependencies packages?

digging into the mailing list, I found out that Rich Wallace has also
complained about a similar problem long ago (see below). I believe Stuart
has solved the problem by now but I am not sure if this is something that
transitive dependencies are causing or whether there is any problem with my
packaging and embedding of the dependencies.

--> pax:provision not picking up transitive dependencies
--> Richard Wallace
--> Sat, 06 Sep 2008 09:01:23 -0700

bests,
-Nima



On Wed, Jun 10, 2009 at 3:13 AM, Stuart McCulloch <mccu...@gmail.com> wrote:
>
> 2009/6/10 Alin Dreghiciu <adreghi...@gmail.com>
>>
>> I was just able to start the bundle using Pax Runner. If you have pax
runner installed you can do that just by doing: pax-run
osgibroker.subscriber.tcp-0.0.1.jar
>> So, the problem should be from
the pom generated by pax construct to be provisioned by pax runner. Can you
send me
also teh pom generated by pax construct. If I recall it correctly you
should find it at "runner/deploy-pom.xml"
>
> from Nima's original note I think the pom is OK otherwise it wouldn't have
got this far:
>
>    [mvn:ubc.magic.broker/osgibroker.subscriber.tcp/0.0.1] is not a valid
bundle
>
> so I suspect the question is whether this artifact has been installed in
the local Maven repository...
>
> Nima - did you do an "mvn install" before using "mvn pax:provision" ?
perhaps try: "mvn clean install pax:provision -U" ?
>
> also is your local Maven repository in the default location, or do you set
the location in your Maven settings.xml ?
>
>> Here is the output:
>> alindreghiciu$ pax-run osgibroker.subscriber.tcp-0.0.1.jar
>>     ______  ________  __  __
>>    / __  / /  __   / / / / /
>>   /  ___/ /  __   / _\ \ _/
>>  /  /    /  / /  / / _\ \
>> /__/    /__/ /__/ /_/ /_/
>> Pax Runner (0.21.0-SNAPSHOT) from OPS4J - http://www.ops4j.org
>> --------------------------------------------------------------
>>  -> Using config [classpath:META-INF/runner.properties]
>>  -> Using only arguments from command line
>>  -> Scan bundles from [osgibroker.subscriber.tcp-0.0.1.jar]
>>  -> Scan bundles from
[scan-bundle:file:/Users/alindreghiciu/Downloads/osgibroker.subscriber.tcp-0.0.1.jar]
>>  -> Provision bundle
[file:/Users/alindreghiciu/Downloads/osgibroker.subscriber.tcp-0.0.1.jar, at
default start level, bundle will be started, bundle will be loaded from the
cache]
>>  -> Preparing framework [Felix 1.8.0]
>>  -> Downloading bundles...
>>  -> Felix 1.8.0 : 367271 bytes @ [ 147kBps ]
>>  -> org.osgi.compendium (4.1.0) : 514214 bytes @ [ 5777kBps ]
>>  -> org.apache.felix.shell (1.2.0) : 59114 bytes @ [ 856kBps ]
>>  -> org.apache.felix.shell.tui.plugin (1.2.0) : 12455 bytes @ [ 1132kBps
]
>>  ->
file:/Users/alindreghiciu/Downloads/osgibroker.subscriber.tcp-0.0.1.jar :
12841 bytes @ [ 4280kBps ]
>>  -> Using execution environment [J2SE-1.5]
>>  -> Runner has successfully finished his job!
>>
>> Welcome to Felix.
>> =================
>> -> ERROR: Error starting
file:bundles/ubc.magic.broker.osgibroker.subscriber.tcp_0.0.1.jar
(org.osgi.framework.BundleException: Unresolved constraint in bundle 1:
package; (package=org.apache.log4j))
>> org.osgi.framework.BundleException: Unresolved constraint in bundle 1:
package; (package=org.apache.log4j)
>> at org.apache.felix.framework.Felix.resolveBundle(Felix.java:3097)
>> at org.apache.felix.framework.Felix.startBundle(Felix.java:1439)
>> at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:984)
>> at org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:263)
>> at java.lang.Thread.run(Thread.java:613)
>> On Wed, Jun 10, 2009 at 12:26 PM, Nima Kaviani <nima.kavi...@gmail.com>
wrote:
>>>
>>> Hi Alin,
>>>
>>> I really appreciate your help. I have attached the jar file ... It has
some dependencies that are not embedded, so I have also included the pom
file.
>>>
>>> cheers,
>>> -Nima
>>>
>>> On Wed, Jun 10, 2009 at 2:20 AM, Alin Dreghiciu <adreghi...@gmail.com>
wrote:
>>>>
>>>> The manifest looks just fine. If you like you can send me the jar that
contains this manifest to test it out. Send it to my e-mail address.
>>>>
>>>> On Wed, Jun 10, 2009 at 12:03 PM, Nima Kaviani <nima.kavi...@gmail.com>
wrote:
>>>>>
>>>>> Thanks a lot Peter for the reply. I tried the generated bundles on
Felix 1.8 and it works fine. It also works with Knopflerfish 2.3. But not
when I call "mvn pax:provision". I tried switching the sub modules in the
parent pom, but it didn't work either. Not sure what the problem is?!
>>>>>
>>>>> Here is the content for MANIFEST.MF. The SVN repository is password
protected. I will try to open a hole and let you access it when I go to
work, tmw morning. Meanwhile, I would appreciate any suggestion that you
might have.
>>>>>
>>>>> thanks a lot for your help.
>>>>>
>>>>> Manifest-Version: 1.0
>>>>> Export-Package: ca.ubc.magic.broker.subscriber.service.tcp;uses:="ca.u
>>>>>  bc.magic.broker.impl,ca.ubc.magic.broker.api,org.apache.log4j,org.osg
>>>>>  i.service.cm,org.osgi.util.tracker,org.osgi.framework"
>>>>> Private-Package: ca.ubc.magic.broker.subscriber.service.*
>>>>> Built-By: nima
>>>>> Tool: Bnd-0.0.311
>>>>> Bundle-Name: osgibroker-subscriber-tcp
>>>>> Created-By: Apache Maven Bundle Plugin
>>>>> Bundle-Version: 0.0.1
>>>>> Build-Jdk: 1.6.0_10-rc
>>>>> Bnd-LastModified: 1244614682705
>>>>> Bundle-ManifestVersion: 2
>>>>> Bundle-Activator: ca.ubc.magic.broker.subscriber.service.tcp.TCPSubscr
>>>>>  iberService
>>>>> Bundle-SymbolicName: ubc.magic.broker.osgibroker.subscriber.tcp
>>>>> Import-Package: ca.ubc.magic.broker.api,ca.ubc.magic.broker.impl,ca.ub
>>>>>  c.magic.broker.subscriber.service.tcp,org.apache.log4j,org.osgi.frame
>>>>>  work;version="1.3",org.osgi.service.cm;version="1.2",org.osgi.util.tr
>>>>>  acker;version="1.3"
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Jun 10, 2009 at 1:39 AM, Peter Neubauer <
neubauer.pe...@gmail.com> wrote:
>>>>>>
>>>>>> Hi Nima,
>>>>>> do you have the code for the bundles somewhere? Seems there might be
a
>>>>>> problem with the bundle metadta, the Manifest.mf etc?
>>>>>>
>>>>>> You could try to just start Felix or any other OSGi environment and
>>>>>> try loading the bundle manually and see if the same error occurs.
>>>>>>
>>>>>> HTH
>>>>>>
>>>>>> /peter
>>>>>>
>>>>>> GTalk:      neubauer.peter
>>>>>> Skype       peter.neubauer
>>>>>> Phone       +46 704 106975
>>>>>> LinkedIn   http://www.linkedin.com/in/neubauer
>>>>>> Twitter      http://twitter.com/peterneubauer
>>>>>>
>>>>>> http://www.neo4j.org     - New Energy for Data - The Graph Database.
>>>>>> http://www.ops4j.org     - New Energy for OSS Communities - Open
>>>>>> Participation Software.
>>>>>> http://www.qi4j.org        - New Energy for Java - Domain Driven
Development.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, Jun 9, 2009 at 8:38 PM, Nima Kaviani<nima.kavi...@gmail.com>
wrote:
>>>>>> > Hi all,
>>>>>> >
>>>>>> > I have a problem when trying to use pax maven plugin. My parent POM
has a
>>>>>> > set of modules as follows
>>>>>> >
>>>>>> > <modules>
>>>>>> >       <module>api</module>
>>>>>> >       <module>impl</module>
>>>>>> >       <module>servlet-subscriber</module>
>>>>>> >       <module>tcp-subscriber</module>
>>>>>> > </modules>
>>>>>> >
>>>>>> > I have used apache's bundle plugin to create bundles for all the
above sub
>>>>>> > projects. I can install and start all the bundles generated from
the above
>>>>>> > modules individually on Felix, however when I run "mvn
pax:provision", I
>>>>>> > encounter the following exception and I am not sure what the
problem is.
>>>>>> > External bundle dependencies are defined in each sub-bundle's  pom
and I
>>>>>> > believe pax should be able to resolve the dependencies without any
problem.
>>>>>> > yet, It doesn't even get to the point of resolving the dependencies
and
>>>>>> > starts complaining about the format of the bundle, so I am not sure
what the
>>>>>> > problem can be. I appreciate any help.
>>>>>> >
>>>>>> > N.
>>>>>> >
>>>>>> >
>>>>>> >      /  / Oops, there has been a problem!
>>>>>> >       /  /
>>>>>> >      /__/   org.ops4j.pax.runner.platform.PlatformException:
>>>>>> > [mvn:ubc.magic.broker/osgibroker.subscriber.tcp/0.0.1] is not a
valid bundle
>>>>>> >     ___
>>>>>> >    /__/
>>>>>> >
>>>>>> >  -> Exception catched during execution:
>>>>>> > java.lang.RuntimeException:
org.ops4j.pax.runner.platform.PlatformException:
>>>>>> > [mvn:ubc.magic.broker/osgibroker.subscriber.tcp/0.0.1] is not a
valid bundle
>>>>>> >     at org.ops4j.pax.runner.Run.startPlatform(Run.java:627)
>>>>>> >     at org.ops4j.pax.runner.Run.start(Run.java:208)
>>>>>> >     at org.ops4j.pax.runner.Run.main(Run.java:137)
>>>>>> >     at org.ops4j.pax.runner.Run.main(Run.java:110)
>>>>>> >     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
>>>>>> >
org.ops4j.pax.construct.lifecycle.ProvisionMojo.invokePaxRunner(ProvisionMojo.java:802)
>>>>>> >     at
>>>>>> >
org.ops4j.pax.construct.lifecycle.ProvisionMojo.deployRunnerNG(ProvisionMojo.java:780)
>>>>>> >     at
>>>>>> >
org.ops4j.pax.construct.lifecycle.ProvisionMojo.deployBundles(ProvisionMojo.java:477)
>>>>>> >     at
>>>>>> >
org.ops4j.pax.construct.lifecycle.ProvisionMojo.execute(ProvisionMojo.java:270)
>>>>>> >     at
>>>>>> >
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483)
>>>>>> >     at
>>>>>> >
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678)
>>>>>> >     at
>>>>>> >
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:553)
>>>>>> >     at
>>>>>> >
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:523)
>>>>>> >     at
>>>>>> >
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
>>>>>> >     at
>>>>>> >
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:268)
>>>>>> >     at
>>>>>> >
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
>>>>>> >     at
org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
>>>>>> >     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
>>>>>> >     at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
>>>>>> >     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
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>>>>>> >     at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>>>>>> >     at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>>>>>> >     at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>>>>>> >
>>>>>> > --
>>>>>> > http://nima.magic.ubc.ca
>>>>>> >
>>>>>> > _______________________________________________
>>>>>> > general mailing list
>>>>>> > general@lists.ops4j.org
>>>>>> > http://lists.ops4j.org/mailman/listinfo/general
>>>>>> >
>>>>>> >
>>>>>>
>>>>>> _______________________________________________
>>>>>> general mailing list
>>>>>> general@lists.ops4j.org
>>>>>> http://lists.ops4j.org/mailman/listinfo/general
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> http://nima.magic.ubc.ca
>>>>>
>>>>> _______________________________________________
>>>>> general mailing list
>>>>> general@lists.ops4j.org
>>>>> http://lists.ops4j.org/mailman/listinfo/general
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Alin Dreghiciu
>>>> Software Developer - Looking for new projects!
>>>> My profile: http://www.linkedin.com/in/alindreghiciu
>>>> My blog: http://adreghiciu.blogspot.com
>>>> http://www.ops4j.org - New Energy for OSS Communities - Open
Participation Software.
>>>> http://www.qi4j.org - New Energy for Java - Domain Driven Development.
>>>>
>>>> _______________________________________________
>>>> general mailing list
>>>> general@lists.ops4j.org
>>>> http://lists.ops4j.org/mailman/listinfo/general
>>>>
>>>
>>>
>>>
>>> --
>>> http://nima.magic.ubc.ca
>>
>>
>>
>> --
>> Alin Dreghiciu
>> Software Developer - Looking for new projects!
>> My profile: http://www.linkedin.com/in/alindreghiciu
>> My blog: http://adreghiciu.blogspot.com
>> http://www.ops4j.org - New Energy for OSS Communities - Open
Participation Software.
>> http://www.qi4j.org - New Energy for Java - Domain Driven Development.
>>
>> _______________________________________________
>> general mailing list
>> general@lists.ops4j.org
>> http://lists.ops4j.org/mailman/listinfo/general
>>
>
>
>
> --
> Cheers, Stuart
>
> _______________________________________________
> general mailing list
> general@lists.ops4j.org
> http://lists.ops4j.org/mailman/listinfo/general
>



--
http://nima.magic.ubc.ca
_______________________________________________
general mailing list
general@lists.ops4j.org
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to