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
