In your BundleExample impl you use declarative services but you do not
install the scr bundle in your test config. So your bundle is installed
but the @Component will not do anything.
So you can not inject the service because there is no such service
published in the runtime.
Christian
On 06.04.2017 14:14, Massimo Bono wrote:
Hello to all!
I'm learning OSGi technology and I discover pax exam 4.
I've tried to follow the guide lines at Getting Started with OSGi
Tests
<https://ops4j1.jira.com/wiki/display/PAXEXAM4/Getting+Started+with+OSGi+Tests> and
OSGi Containers
<https://ops4j1.jira.com/wiki/display/PAXEXAM4/OSGi+Containers>.
However, it seems I can't start the testing.
The error is the following one:
simpleGreetingImplCheck(com.massimobono.microsi.examples.bundleexample.TestBundleExampleImpl):
gave up waiting for service
com.massimobono.microsi.examples.bundleexample.BundleExample
test(com.massimobono.microsi.examples.bundleexample.TestBundleExampleImpl):
gave up waiting for service
com.massimobono.microsi.examples.bundleexample.BundleExample
It seems that pax exam starts correctly, but fails to inject
bundle-example (a "hello world" bundle I'm testing).
I'm putting all the source code here
<https://github.com/Koldar/pax-exam-test>.
Furthermore, here some additional information:
1. I'm using Java 1.8.0_121;
2. The OSGi implementation chosen is 5.6.2;
3. I'm using maven and I'm using the one available via m2e Eclipse
plugin (m2e version 1.7);
4. Eclipse version is 4.6.0 (Neon);
5. Pax exam version is 4;
If you look at the POM of the test (itest-bundle-example), you'll
notice I've added other dependencies aside those cite in Osgi
Containers
<https://ops4j1.jira.com/wiki/display/PAXEXAM4/OSGi+Containers>. I've
added them because I got other errors before getting stuck on the
"gave up waiting" one.
* *org.ops4j.pax.exam:pax-exam-container-native:4.10.0*: I've added
it because otherwise Pax complained with "No TestContainer
implementation in Classpath";
*
* *org.ops4j.pax.exam:pax-exam-link-assembly:4.10.0*: I've added it
because otherwise Pax complained with "Problem starting test
container";
If you look at the log maven generates (see attachment maven.log)
you'll see that the platform correctly *resolve and install* my bundle:
14:05:05.895 [main] DEBUG org.ops4j.pax.url.mvn.internal.Connection -
*Resolving
*[mvn:com.massimobono.microsi.examples/bundle-example-impl/0.0.1-SNAPSHOT]
14:05:05.897 [main] DEBUG
shaded.org.eclipse.aether.internal.impl.DefaultLocalRepositoryProvider
- Using manager PaxLocalRepositoryManager with priority 0.0 for
E:\Users\massi\.m2\repository
14:05:05.919 [main] DEBUG
org.ops4j.pax.url.mvn.internal.AetherBasedResolver - *Resolved
*(com.massimobono.microsi.examples:bundle-example-impl:jar:0.0.1-SNAPSHOT)
as
E:\Users\massi\.m2\repository\com\massimobono\microsi\examples\bundle-example-impl\0.0.1-SNAPSHOT\bundle-example-impl-0.0.1-SNAPSHOT.jar
14:05:05.922 [main] DEBUG
org.ops4j.pax.exam.nat.internal.NativeTestContainer - + *Install
*(start@3)
MavenArtifactUrlReference{groupId='com.massimobono.microsi.examples',
artifactId='bundle-example-impl', version='0.0.1-SNAPSHOT', type='null'}
If I comment out the "@Inject" annotation, everything works, so I
think I configured wrongly pax exam.
Waiting for any kind reply!
--
--
------------------
OPS4J - http://www.ops4j.org - [email protected]
---
You received this message because you are subscribed to the Google
Groups "OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com
--
--
------------------
OPS4J - http://www.ops4j.org - [email protected]
---
You received this message because you are subscribed to the Google Groups "OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.