Hi Matej

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
This is my code:
       Weld weld = new Weld();
        WeldContainer container = weld.initialize();

This is what I get:

INFO: WELD-000900: 3.0.4 (Final)
May 16, 2018 7:00:39 PM 
org.jboss.weld.environment.deployment.discovery.ReflectionDiscoveryStrategy 
processAnnotatedDiscovery
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.
2018-05-16 19:00:39:187 [main] ERROR 
com.techsenger.webserver.core.internal.Activator - Error starting server
java.lang.IllegalStateException: WELD-ENV-002009: Weld SE container cannot be 
initialized - no bean archives found
    at 
[email protected]/org.jboss.weld.environment.se.Weld.createDeployment(Weld.java:962)
    at 
[email protected]/org.jboss.weld.environment.se.Weld.initialize(Weld.java:773)

Are there any ways to control what modules Weld should scan if we initialize 
via Weld class?

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.

Best regards, Alex

>Среда, 16 мая 2018, 16:47 +03:00 от Matej Novotny < [email protected] >:
>
>Weld 2.x is NOT to be executed with Java 9+.
>Use Weld 3, please. Best use latest release of course (3.0.4.Final).
>
>If you can share the test project on GH, that would be neat as well.
>Then we could see how you use weld as auto module (as well as many other 
>configurations) and go from there.
>
>As for starting SE container, you shouldn't manually call 
>`bootstrap.startContainer(Environments.SE, deployment);`
>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.
>Here is a doc link -  
>http://docs.jboss.org/weld/reference/latest-master/en-US/html_single/#_bootstrapping_cdi_se
>
>Regards
>Matej
>
>----- Original Message -----
>> From: "Alex Sviridov" < [email protected] >
>> To: "weld-dev" < [email protected] >
>> Sent: Wednesday, May 16, 2018 1:51:20 PM
>> Subject: [weld-dev] Staring weld container for SE environment makes me load 
>> java ee classes.
>> 
>> Hi all
>> 
>> I am trying to start weld container (2.3.5) as auto module in JPMS. This is
>> my code
>> 
>> Deployment deployment = new Deployment() {
>> @Override
>> public Collection<BeanDeploymentArchive> getBeanDeploymentArchives() {
>> List<BeanDeploymentArchive> list = new ArrayList<>();
>> list.add(archive);
>> return list;
>> }
>> 
>> @Override
>> public BeanDeploymentArchive loadBeanDeploymentArchive(Class<?> beanClass) {
>> throw new UnsupportedOperationException("Not supported yet.");
>> }
>> 
>> @Override
>> public ServiceRegistry getServices() {
>> SimpleServiceRegistry simpleServiceRegistry = new SimpleServiceRegistry();
>> simpleServiceRegistry.add(ResourceLoader.class, new ResourceLoaderImpl());
>> return simpleServiceRegistry;
>> }
>> 
>> @Override
>> public Iterable getExtensions() {
>> return new ArrayList<>();
>> }
>> };
>> 
>> bootstrap.startContainer(Environments.SE, deployment);
>> 
>> The problem is that in BeanDeployment constructor all services are loaded
>> here
>>  
>> https://github.com/weld/core/blob/d0019511ea776e9c35eab68c4d493c2df882a121/impl/src/main/java/org/jboss/weld/bootstrap/BeanDeployment.java#L117
>> and if I in my resource loader service return instead of all java-ee classes
>> null, I get null pointer exception, for example here
>>  
>> https://github.com/weld/core/blob/d0019511ea776e9c35eab68c4d493c2df882a121/impl/src/main/java/org/jboss/weld/ejb/EJBApiAbstraction.java#L44
>> 
>> I can't understand why all these classes are requested from me, as I am in
>> SE. Or I am doing something wrong. Could anyone help me?
>> 
>> --
>> Best regards, Alex Sviridov
>> 
>> _______________________________________________
>> weld-dev mailing list
>>  [email protected]
>>  https://lists.jboss.org/mailman/listinfo/weld-dev


-- 
Alex Sviridov
_______________________________________________
weld-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-dev

Reply via email to