<HTML><BODY><div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
         <div>
                <base target="_self" href="https://e.mail.ru/">
                
            <div id="style_15264904970000000459_BODY"><div class="class_1526497603">
Hi Matej<br><br>I followed your answer and run Weld (SE) as auto module in my JPMS layer. In this layer I have an arhive with beans.xml<br>This is my code:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Weld weld = new Weld();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WeldContainer container = weld.initialize();<br><br>This is what I get:<br><br>INFO: WELD-000900: 3.0.4 (Final)<br>May 16, 2018 7:00:39 PM org.jboss.weld.environment.deployment.discovery.ReflectionDiscoveryStrategy processAnnotatedDiscovery<br>INFO: WELD-ENV-000014: Falling back to Java Reflection for bean-discovery-mode="annotated" discovery. Add org.jboss:jandex to the classpath to speed-up startup.<br>2018-05-16 19:00:39:187 [main] ERROR com.techsenger.webserver.core.internal.Activator - Error starting server<br>java.lang.IllegalStateException: WELD-ENV-002009: Weld SE container cannot be initialized - no bean archives found<br>&nbsp;&nbsp; &nbsp;at weld.se.core@3.0.4.Final/org.jboss.weld.environment.se.Weld.createDeployment(Weld.java:962)<br>&nbsp;&nbsp; &nbsp;at weld.se.core@3.0.4.Final/org.jboss.weld.environment.se.Weld.initialize(Weld.java:773)<br><br>Are there any ways to control what modules Weld should scan if we initialize via Weld class?<br><br>By the way: STOP creating packages with the same name in different JAR arhives! JPMS doesn't allow it! I had to merge core-impl, spi and api in one file.<br><br>Best regards, Alex<br><br><blockquote style="border-left:1px solid #0857A6;margin:10px;padding:0 0 0 10px;">
        Среда, 16 мая 2018, 16:47 +03:00 от Matej Novotny &lt;<a href="mailto:manovotn@redhat.com">manovotn@redhat.com</a>&gt;:<br>
        <br>
        <div id="">






<div class="js-helper_mailru_css_attribute_postfix js-readmsg-msg_mailru_css_attribute_postfix">
        <style></style>
         <div>
                
                
            <div id="style_15264784640000000837_BODY_mailru_css_attribute_postfix">Weld 2.x is NOT to be executed with Java 9+.<br>
Use Weld 3, please. Best use latest release of course (3.0.4.Final).<br>
<br>
If you can share the test project on GH, that would be neat as well.<br>
Then we could see how you use weld as auto module (as well as many other configurations) and go from there.<br>
<br>
As for starting SE container, you shouldn't manually call `bootstrap.startContainer(Environments.SE, deployment);`<br>
Please see the docs on how to bootstrap Weld in SE, you shouldn't need to deal with any of the methods you listed below.<br>
Here is a doc link - <a href="http://docs.jboss.org/weld/reference/latest-master/en-US/html_single/#_bootstrapping_cdi_se" target="_blank" rel=" noopener noreferrer">http://docs.jboss.org/weld/reference/latest-master/en-US/html_single/#_bootstrapping_cdi_se</a><br>
<br>
Regards<br>
Matej<br>
<br>
----- Original Message -----<br>
&gt; From: "Alex Sviridov" &lt;<a href="//e.mail.ru/compose/?mailto=mailto%3aooo_saturn7@mail.ru" target="_blank" rel=" noopener noreferrer">ooo_saturn7@mail.ru</a>&gt;<br>
&gt; To: "weld-dev" &lt;<a href="//e.mail.ru/compose/?mailto=mailto%3aweld%2ddev@lists.jboss.org" target="_blank" rel=" noopener noreferrer">weld-dev@lists.jboss.org</a>&gt;<br>
&gt; Sent: Wednesday, May 16, 2018 1:51:20 PM<br>
&gt; Subject: [weld-dev] Staring weld container for SE environment makes me load java ee classes.<br>
&gt; <br>
&gt; Hi all<br>
&gt; <br>
&gt; I am trying to start weld container (2.3.5) as auto module in JPMS. This is<br>
&gt; my code<br>
&gt; <br>
&gt; Deployment deployment = new Deployment() {<br>
&gt; @Override<br>
&gt; public Collection&lt;BeanDeploymentArchive&gt; getBeanDeploymentArchives() {<br>
&gt; List&lt;BeanDeploymentArchive&gt; list = new ArrayList&lt;&gt;();<br>
&gt; list.add(archive);<br>
&gt; return list;<br>
&gt; }<br>
&gt; <br>
&gt; @Override<br>
&gt; public BeanDeploymentArchive loadBeanDeploymentArchive(Class&lt;?&gt; beanClass) {<br>
&gt; throw new UnsupportedOperationException("Not supported yet.");<br>
&gt; }<br>
&gt; <br>
&gt; @Override<br>
&gt; public ServiceRegistry getServices() {<br>
&gt; SimpleServiceRegistry simpleServiceRegistry = new SimpleServiceRegistry();<br>
&gt; simpleServiceRegistry.add(ResourceLoader.class, new ResourceLoaderImpl());<br>
&gt; return simpleServiceRegistry;<br>
&gt; }<br>
&gt; <br>
&gt; @Override<br>
&gt; public Iterable getExtensions() {<br>
&gt; return new ArrayList&lt;&gt;();<br>
&gt; }<br>
&gt; };<br>
&gt; <br>
&gt; bootstrap.startContainer(Environments.SE, deployment);<br>
&gt; <br>
&gt; The problem is that in BeanDeployment constructor all services are loaded<br>
&gt; here<br>
&gt; <a href="https://github.com/weld/core/blob/d0019511ea776e9c35eab68c4d493c2df882a121/impl/src/main/java/org/jboss/weld/bootstrap/BeanDeployment.java#L117" target="_blank" rel=" noopener noreferrer">https://github.com/weld/core/blob/d0019511ea776e9c35eab68c4d493c2df882a121/impl/src/main/java/org/jboss/weld/bootstrap/BeanDeployment.java#L117</a><br>
&gt; and if I in my resource loader service return instead of all java-ee classes<br>
&gt; null, I get null pointer exception, for example here<br>
&gt; <a href="https://github.com/weld/core/blob/d0019511ea776e9c35eab68c4d493c2df882a121/impl/src/main/java/org/jboss/weld/ejb/EJBApiAbstraction.java#L44" target="_blank" rel=" noopener noreferrer">https://github.com/weld/core/blob/d0019511ea776e9c35eab68c4d493c2df882a121/impl/src/main/java/org/jboss/weld/ejb/EJBApiAbstraction.java#L44</a><br>
&gt; <br>
&gt; I can't understand why all these classes are requested from me, as I am in<br>
&gt; SE. Or I am doing something wrong. Could anyone help me?<br>
&gt; <br>
&gt; --<br>
&gt; Best regards, Alex Sviridov<br>
&gt; <br>
&gt; _______________________________________________<br>
&gt; weld-dev mailing list<br>
&gt; <a href="//e.mail.ru/compose/?mailto=mailto%3aweld%2ddev@lists.jboss.org" target="_blank" rel=" noopener noreferrer">weld-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank" rel=" noopener noreferrer">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
</div>
            
        
                
        </div>

        
</div>


</div>
</blockquote>
<br>
<br>-- <br>Alex Sviridov<br>
</div></div>
            
        
                <base target="_self" href="https://e.mail.ru/">
        </div>

        
</div></BODY></HTML>