<HTML><BODY><div class="post-text"><p>I use javase and solution osgi (felix)+cdi(weld)+paxcdi. I have two bundles A and B. Bundle B is a lib bundle.</p><p>In bundle A I have one class and one package.</p><pre class="lang-java prettyprint prettyprinted"><code><span class="kwd">package</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">example</span><span class="pun">.</span><span class="pln">firstpackage</span><span class="pun">;</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">example</span><span class="pun">.</span><span class="pln">secondpackage</span><span class="pun">.</span><span class="typ">Class2</span><span class="pun">;</span><span class="kwd">public</span><span class="kwd">class</span><span class="typ">Class1</span><span class="pun">{</span><span class="lit">@Inject</span><span class="kwd">private</span><span class="typ">Class2</span><span class="pln"> class2</span><span class="pun">;</span><span class="pun">}</span></code></pre><p>In bundle B I have two classes and two packages</p><pre class="lang-java prettyprint prettyprinted"><code><span class="kwd">package</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">example</span><span class="pun">.</span><span class="pln">secondpackage</span><span class="pun">;</span><span class="kwd">import</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">example</span><span class="pun">.</span><span class="pln">thirdpackage</span><span class="pun">.</span><span class="typ">Class3</span><span class="pun">;</span><span class="kwd">public</span><span class="kwd">class</span><span class="typ">Class2</span><span class="pun">{</span><span class="lit">@Inject</span><span class="kwd">private</span><span class="typ">Class3</span><span class="pln"> class3</span><span class="pun">;</span><span class="pun">}</span></code></pre><p>and</p><pre class="lang-java prettyprint prettyprinted"><code><span class="kwd">package</span><span class="pln"> com</span><span class="pun">.</span><span class="pln">example</span><span class="pun">.</span><span class="pln">thirdpackage</span><span class="pun">;</span><span class="kwd">public</span><span class="kwd">class</span><span class="typ">Class3</span><span class="pun">{</span><span class="pun">....</span><span class="pun">}</span></code></pre><p>I install and start both bundles.</p><p>The problem - pax (or weld) for injecting in classes of bundle A scans only those packages which are imported for classes IN bundle A. In my example - CDI for injecting in Class1 Class2 will scan com.example.secondpackage of bundle B. However, it will throw exception as Class2 needs Class3 but com.example.thirdpackage is not scanned for bundle A (as it's not imported!!!). com.example.thirdpackage is only scanned for bundle B but, as I understand every bundles for cdi has its own scope. How to fix it?</p></div><br><br><br>-- <br>Александр Свиридов</BODY></HTML>