<HTML><BODY>Hi Matej<br><br>Thank you for your answer, but I couldn't make it work. I opened my package,<br>but Weld (see my previous message at the end), as I understand, wants to get<br>access to hidden fields and methods of classes in java.base module and JPMS doesn't<br>allow it.<br><br>So, I gave up - as I don't know what to do else. If you can make it work, please, report.<br>It would be very interesting.<br><br>Best regards, Alex<br><br><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        Вторник, 19 сентября 2017, 10:22 +03:00 от Matej Novotny &lt;manovotn@redhat.com&gt;:<br>
        <br>
        <div id="">






















        












<div class="js-helper js-readmsg-msg">
        <style type="text/css"></style>
         <div>
                <base target="_self" href="https://e.mail.ru/">
                
            <div id="style_15058057590000000942_BODY">&gt; 1) Please, take a look at the second table (module overview) here<br>
&gt; <a href="https://labs.consol.de/development/2017/02/13/getting-started-with-java9-modules.html" target="_blank">https://labs.consol.de/development/2017/02/13/getting-started-with-java9-modules.html</a><br>
<br>
Did that, the article looks like there is finally some solid material on modules.<br>
<br>
&gt; 2) Weld is not unnamed module but automatic module as it is on module path<br>
&gt; and I use it by name.<br>
<br>
Yea, you are right, my bad. I meant automatic module OFC.<br>
<br>
&gt; 3) From that table (module overview) we see that both automatic and unnamed<br>
&gt; modules can read application modules. If so, then why it doesn't?<br>
<br>
I suppose you already got your answer on StackOverflow[1], right?<br>
To add on top of that, if you `exports` package - you only expose public things in there.<br>
For Weld to create proxies of your beans, we need to go deeper and allow reflections access which may mean accessing private/protected stuff (such as your @Inject private NewBean bean).<br>
Java 9 doesn't like that and requires you to `opens` the package for this kind of work.<br>
<br>
&gt; And got the following (see below). It seems that Weld can't now work with<br>
&gt; JPMS.<br>
&gt; What will Weld developers say?<br>
<br>
From the SO question I guess you got it working in the end.<br>
If you have any other questions, feel free to contact us again.<br>
I'll try to test some JDK 9 project myself to refresh my memory so that I can be of more help next time :)<br>
<br>
Matej<br>
<br>
_________________________________________________________________________-<br>
[1] <a href="https://stackoverflow.com/questions/46282509" target="_blank">https://stackoverflow.com/questions/46282509</a><br>
<br>
----- Original Message -----<br>
&gt; From: "Alex Sviridov" &lt;<a href="mailto:ooo_saturn7@mail.ru">ooo_saturn7@mail.ru</a>&gt;<br>
&gt; To: "weld-dev" &lt;<a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a>&gt;<br>
&gt; Sent: Monday, September 18, 2017 5:23:30 PM<br>
&gt; Subject: Re: [weld-dev] Weld and Java 9 JPMS<br>
&gt; <br>
&gt; So, here I am.<br>
&gt; I changed my.module from<br>
&gt; my.module {<br>
&gt; requires weld.se.shaded;<br>
&gt; exports com.foo;<br>
&gt; }<br>
&gt; to<br>
&gt; my.module {<br>
&gt; requires weld.se.shaded;<br>
&gt; opens com.foo;<br>
&gt; }<br>
&gt; <br>
&gt; And got the following (see below). It seems that Weld can't now work with<br>
&gt; JPMS.<br>
&gt; What will Weld developers say?<br>
&gt; <br>
&gt; Exception in thread "main" org.jboss.weld.exceptions.WeldException:<br>
&gt; WELD-001524: Unable to load proxy class for bean Implicit Bean<br>
&gt; [javax.enterprise.event.Event] with qualifiers [@Default] with class<br>
&gt; interface javax.enterprise.event.Event using classloader<br>
&gt; jdk.internal.loader.ClassLoaders$AppClassLoader@6b2fad11<br>
&gt; at<br>
&gt; java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native<br>
&gt; Method)<br>
&gt; at<br>
&gt; java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)<br>
&gt; at<br>
&gt; java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)<br>
&gt; at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)<br>
&gt; at<br>
&gt; java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:587)<br>
&gt; at java.base/java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:996)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.AbstractExecutorServices.checkForExceptions(AbstractExecutorServices.java:72)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.AbstractExecutorServices.invokeAllAndCheckForExceptions(AbstractExecutorServices.java:58)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.AbstractExecutorServices.invokeAllAndCheckForExceptions(AbstractExecutorServices.java:66)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.ConcurrentBeanDeployer.doAfterBeanDiscovery(ConcurrentBeanDeployer.java:88)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.BeanDeployment.afterBeanDiscovery(BeanDeployment.java:268)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.WeldStartup.deployBeans(WeldStartup.java:466)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:83)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.environment.se.Weld.initialize(Weld.java:789)<br>
&gt; at my.module/com.foo.NewMain.main(NewMain.java:47)<br>
&gt; Caused by: org.jboss.weld.exceptions.WeldException: WELD-001524: Unable to<br>
&gt; load proxy class for bean Implicit Bean [javax.enterprise.event.Event] with<br>
&gt; qualifiers [@Default] with class interface javax.enterprise.event.Event<br>
&gt; using classloader jdk.internal.loader.ClassLoaders$AppClassLoader@6b2fad11<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bean.proxy.ProxyFactory.getProxyClass(ProxyFactory.java:389)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bean.builtin.AbstractFacadeBean.initializeAfterBeanDiscovery(AbstractFacadeBean.java:61)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:111)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:102)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:62)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:55)<br>
&gt; at<br>
&gt; java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1431)<br>
&gt; at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:283)<br>
&gt; at<br>
&gt; java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1603)<br>
&gt; at<br>
&gt; java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)<br>
&gt; Caused by: java.lang.ExceptionInInitializerError<br>
&gt; at<br>
&gt; java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native<br>
&gt; Method)<br>
&gt; at<br>
&gt; java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)<br>
&gt; at<br>
&gt; java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)<br>
&gt; at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bean.proxy.ProxyFactory.newClassFile(ProxyFactory.java:496)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bean.proxy.ProxyFactory.createProxyClass(ProxyFactory.java:455)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bean.proxy.ProxyFactory.getProxyClass(ProxyFactory.java:381)<br>
&gt; ... 9 more<br>
&gt; Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make<br>
&gt; protected final java.lang.Class<br>
&gt; java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) throws<br>
&gt; java.lang.ClassFormatError accessible: module java.base does not "opens<br>
&gt; java.lang" to module weld.se.shaded<br>
&gt; at<br>
&gt; java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:337)<br>
&gt; at<br>
&gt; java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:281)<br>
&gt; at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198)<br>
&gt; at java.base/java.lang.reflect.Method.setAccessible(Method.java:192)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.classfilewriter.ClassFile$1.run(ClassFile.java:256)<br>
&gt; at java.base/java.security.AccessController.doPrivileged(Native Method)<br>
&gt; at<br>
&gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.classfilewriter.ClassFile.&lt;clinit&gt;(ClassFile.java:251)<br>
&gt; ... 16 more<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; Понедельник, 18 сентября 2017, 16:39 +03:00 от Matej Novotny<br>
&gt; &lt;<a href="mailto:manovotn@redhat.com">manovotn@redhat.com</a>&gt;:<br>
&gt; <br>
&gt; From the exception you are getting, this line is important:<br>
&gt; <br>
&gt; "Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make<br>
&gt; field private com.foo.NewBean com.foo.NewClass.bean accessible: module<br>
&gt; my.module does not "opens com.foo" to module weld.se.shaded"<br>
&gt; <br>
&gt; Basically, Weld is not modularized (== lands in unnamed module) and it needs<br>
&gt; access to your module so that it can create beans. E.g. you need to make<br>
&gt; sure unnamed module has access to your module.<br>
&gt; I think that by default in JDK 9 the access is intended so that all modules<br>
&gt; can read unnamed module, but unnamed module can only read itself (simplified<br>
&gt; version).<br>
&gt; Hence you want to break a few rules and force this to work in the opposite<br>
&gt; direction for your module.<br>
&gt; <br>
&gt; Matej<br>
&gt; <br>
&gt; <br>
&gt; ----- Original Message -----<br>
&gt; &gt; From: "Alex Sviridov" &lt; <a href="mailto:ooo_saturn7@mail.ru">ooo_saturn7@mail.ru</a> &gt;<br>
&gt; &gt; To: "weld-dev" &lt; <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a> &gt;<br>
&gt; &gt; Sent: Monday, September 18, 2017 1:46:36 PM<br>
&gt; &gt; Subject: Re: [weld-dev] Weld and Java 9 JPMS<br>
&gt; &gt; <br>
&gt; &gt; Thank you for your answer.<br>
&gt; &gt; <br>
&gt; &gt; Could anyone give any suggestion about the following?<br>
&gt; &gt; <br>
&gt; &gt; I have my named module and weld-se-shaded as unnamed module.<br>
&gt; &gt; In my module I have<br>
&gt; &gt; <br>
&gt; &gt; module my.module {<br>
&gt; &gt; requires weld.se.shaded;<br>
&gt; &gt; exports com.foo;<br>
&gt; &gt; }<br>
&gt; &gt; <br>
&gt; &gt; #################################<br>
&gt; &gt; package com.foo;<br>
&gt; &gt; <br>
&gt; &gt; import javax.enterprise.context.ApplicationScoped;<br>
&gt; &gt; import javax.inject.Inject;<br>
&gt; &gt; <br>
&gt; &gt; @ApplicationScoped<br>
&gt; &gt; public class NewClass {<br>
&gt; &gt; <br>
&gt; &gt; @Inject<br>
&gt; &gt; private NewBean bean;<br>
&gt; &gt; <br>
&gt; &gt; public void doIt() {<br>
&gt; &gt; bean.doIt();<br>
&gt; &gt; }<br>
&gt; &gt; <br>
&gt; &gt; }<br>
&gt; &gt; <br>
&gt; &gt; #################################<br>
&gt; &gt; package com.foo;<br>
&gt; &gt; <br>
&gt; &gt; import javax.enterprise.context.Dependent;<br>
&gt; &gt; <br>
&gt; &gt; @Dependent<br>
&gt; &gt; public class NewBean {<br>
&gt; &gt; <br>
&gt; &gt; public void doIt() {<br>
&gt; &gt; System.out.println("I am doing it);<br>
&gt; &gt; }<br>
&gt; &gt; }<br>
&gt; &gt; <br>
&gt; &gt; And this is the result<br>
&gt; &gt; <br>
&gt; &gt; Sep 18, 2017 2:33:12 PM org.jboss.weld.bootstrap.WeldStartup &lt;clinit&gt;<br>
&gt; &gt; INFO: WELD-000900: 3.0.2 (2017-09-18 08:49)<br>
&gt; &gt; Sep 18, 2017 2:33:12 PM<br>
&gt; &gt; org.jboss.weld.environment.deployment.discovery.ReflectionDiscoveryStrategy<br>
&gt; &gt; processAnnotatedDiscovery<br>
&gt; &gt; INFO: WELD-ENV-000014: Falling back to Java Reflection for<br>
&gt; &gt; bean-discovery-mode="annotated" discovery. Add org.jboss:jandex to the<br>
&gt; &gt; classpath to speed-up startup.<br>
&gt; &gt; Sep 18, 2017 2:33:12 PM org.jboss.weld.bootstrap.WeldStartup startContainer<br>
&gt; &gt; INFO: WELD-000101: Transactional services not available. Injection of<br>
&gt; &gt; @Inject<br>
&gt; &gt; UserTransaction not available. Transactional observers will be invoked<br>
&gt; &gt; synchronously.<br>
&gt; &gt; Exception in thread "main" java.lang.reflect.InaccessibleObjectException<br>
&gt; &gt; at<br>
&gt; &gt; java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native<br>
&gt; &gt; Method)<br>
&gt; &gt; at<br>
&gt; &gt; java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)<br>
&gt; &gt; at<br>
&gt; &gt; java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)<br>
&gt; &gt; at<br>
&gt; &gt; java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)<br>
&gt; &gt; at<br>
&gt; &gt; java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:590)<br>
&gt; &gt; at java.base/java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:996)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.AbstractExecutorServices.checkForExceptions(AbstractExecutorServices.java:72)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.AbstractExecutorServices.invokeAllAndCheckForExceptions(AbstractExecutorServices.java:58)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.AbstractExecutorServices.invokeAllAndCheckForExceptions(AbstractExecutorServices.java:66)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.ConcurrentBeanDeployer.createClassBeans(ConcurrentBeanDeployer.java:65)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:256)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.WeldStartup.deployBeans(WeldStartup.java:422)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:83)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.environment.se.Weld.initialize(Weld.java:789)<br>
&gt; &gt; at my.module/com.foo.NewMain.main(NewMain.java:47)<br>
&gt; &gt; Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make<br>
&gt; &gt; field private com.foo.NewBean com.foo.NewClass.bean accessible: module<br>
&gt; &gt; my.module does not "opens com.foo" to module weld.se.shaded<br>
&gt; &gt; at<br>
&gt; &gt; java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:337)<br>
&gt; &gt; at<br>
&gt; &gt; java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:281)<br>
&gt; &gt; at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:176)<br>
&gt; &gt; at java.base/java.lang.reflect.Field.setAccessible(Field.java:170)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.security.GetAccessibleCopyOfMember.of(GetAccessibleCopyOfMember.java:38)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.security.GetAccessibleCopyOfMember.run(GetAccessibleCopyOfMember.java:44)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.security.GetAccessibleCopyOfMember.run(GetAccessibleCopyOfMember.java:26)<br>
&gt; &gt; at java.base/java.security.AccessController.doPrivileged(Native Method)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.FieldInjectionPoint.&lt;init&gt;(FieldInjectionPoint.java:65)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.InjectionPointFactory.createFieldInjectionPoint(InjectionPointFactory.java:141)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.InjectionPointFactory.addFieldInjectionPoint(InjectionPointFactory.java:226)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.InjectionPointFactory.getFieldInjectionPoints(InjectionPointFactory.java:211)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.producer.DefaultInjector.&lt;init&gt;(DefaultInjector.java:56)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.producer.ResourceInjector.&lt;init&gt;(ResourceInjector.java:57)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.producer.ResourceInjector.of(ResourceInjector.java:48)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.producer.BeanInjectionTarget.&lt;init&gt;(BeanInjectionTarget.java:63)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.producer.BeanInjectionTarget.createDefault(BeanInjectionTarget.java:47)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.manager.InjectionTargetFactoryImpl.chooseInjectionTarget(InjectionTargetFactoryImpl.java:139)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:88)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bean.ManagedBean.&lt;init&gt;(ManagedBean.java:100)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bean.ManagedBean.of(ManagedBean.java:80)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.AbstractBeanDeployer.createManagedBean(AbstractBeanDeployer.java:280)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.BeanDeployer.createClassBean(BeanDeployer.java:221)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:68)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:65)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:62)<br>
&gt; &gt; at<br>
&gt; &gt; weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:55)<br>
&gt; &gt; at<br>
&gt; &gt; java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1431)<br>
&gt; &gt; at<br>
&gt; &gt; java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:283)<br>
&gt; &gt; at<br>
&gt; &gt; java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1603)<br>
&gt; &gt; at<br>
&gt; &gt; java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; Понедельник, 18 сентября 2017, 14:18 +03:00 от Matej Novotny<br>
&gt; &gt; &lt; <a href="mailto:manovotn@redhat.com">manovotn@redhat.com</a> &gt;:<br>
&gt; &gt; <br>
&gt; &gt; Hi,<br>
&gt; &gt; <br>
&gt; &gt; if you are in SE, you should only need 'weld-se-shaded' artifact (as a<br>
&gt; &gt; JAR).<br>
&gt; &gt; As it is "shaded", it brings along all the other parts of Weld you might<br>
&gt; &gt; need.<br>
&gt; &gt; <br>
&gt; &gt; Matej<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; ----- Original Message -----<br>
&gt; &gt; &gt; From: "Alex Sviridov" &lt; <a href="mailto:ooo_saturn7@mail.ru">ooo_saturn7@mail.ru</a> &gt;<br>
&gt; &gt; &gt; To: "weld-dev" &lt; <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a> &gt;<br>
&gt; &gt; &gt; Sent: Monday, September 18, 2017 12:17:28 PM<br>
&gt; &gt; &gt; Subject: Re: [weld-dev] Weld and Java 9 JPMS<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Hi Matej<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; I am just trying to make Weld work in Java 9 (JavaSE + JPMS).<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; I use the following jars as automatic modules:<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; weld-environment-common-3.0.2-SNAPSHOT.jar<br>
&gt; &gt; &gt; weld-se-core-3.0.2-SNAPSHOT.jar<br>
&gt; &gt; &gt; weld-se-shaded-3.0.2-SNAPSHOT.jar<br>
&gt; &gt; &gt; weld-spi-3.0.SP1.jar<br>
&gt; &gt; &gt; weld-core-impl-3.0.2-SNAPSHOT.jar<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Is this right configuration? Or should I add/remove something.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Best regards, Alex<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Понедельник, 18 сентября 2017, 12:41 +03:00 от Matej Novotny<br>
&gt; &gt; &gt; &lt; <a href="mailto:manovotn@redhat.com">manovotn@redhat.com</a> &gt;:<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Uhm, is there anything blocking you from placing it where you would in<br>
&gt; &gt; &gt; Java<br>
&gt; &gt; &gt; 8?<br>
&gt; &gt; &gt; E.g. src/main/resources/META-INF?<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; I don't think I have tried this combination (or I do not recall).<br>
&gt; &gt; &gt; From the top of my head I don't know any JDK 9 limitation which would<br>
&gt; &gt; &gt; forbid<br>
&gt; &gt; &gt; to use XML descriptors in this way.<br>
&gt; &gt; &gt; I might be a bit rusty though; been a while since I played with Java 9.<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Please do report back with how this works for you :)<br>
&gt; &gt; &gt; Matej<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; ----- Original Message -----<br>
&gt; &gt; &gt; &gt; From: "Alex Sviridov" &lt; <a href="mailto:ooo_saturn7@mail.ru">ooo_saturn7@mail.ru</a> &gt;<br>
&gt; &gt; &gt; &gt; To: "Matej Novotny" &lt; <a href="mailto:manovotn@redhat.com">manovotn@redhat.com</a> &gt;<br>
&gt; &gt; &gt; &gt; Sent: Monday, September 18, 2017 10:28:11 AM<br>
&gt; &gt; &gt; &gt; Subject: Re[2]: [weld-dev] Weld and Java 9 JPMS<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Thank you for your answer. I will try. But where should I place<br>
&gt; &gt; &gt; &gt; beans.xml<br>
&gt; &gt; &gt; &gt; to make Weld read it if I use Java SE+ JPMS?<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Best regards, Alex<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt;Понедельник, 18 сентября 2017, 8:10 +03:00 от Matej Novotny<br>
&gt; &gt; &gt; &gt; &gt;&lt; <a href="mailto:manovotn@redhat.com">manovotn@redhat.com</a> &gt;:<br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt;Hi Alex<br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt;Back there we did some tests with earlier versions of Java 9 and<br>
&gt; &gt; &gt; &gt; &gt;eliminated<br>
&gt; &gt; &gt; &gt; &gt;some crucial problems.<br>
&gt; &gt; &gt; &gt; &gt;I think it should be possible to take *existing* app and run it on<br>
&gt; &gt; &gt; &gt; &gt;Java<br>
&gt; &gt; &gt; &gt; &gt;9.<br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt;However, creating a whole new modular project might present some<br>
&gt; &gt; &gt; &gt; &gt;additional<br>
&gt; &gt; &gt; &gt; &gt;challenges.<br>
&gt; &gt; &gt; &gt; &gt;Weld itself is not modularized (since it needs to run on Java 8),<br>
&gt; &gt; &gt; &gt; &gt;therefore<br>
&gt; &gt; &gt; &gt; &gt;you would need to list some extra "requires" in module-info.java for<br>
&gt; &gt; &gt; &gt; &gt;Weld.<br>
&gt; &gt; &gt; &gt; &gt;You also need to have reflection access allowed (we need to<br>
&gt; &gt; &gt; &gt; &gt;instantiate<br>
&gt; &gt; &gt; &gt; &gt;proxies etc) but last time I checked, it was by default enabled in JDK<br>
&gt; &gt; &gt; &gt; &gt;9<br>
&gt; &gt; &gt; &gt; &gt;wi<br>
&gt; &gt; &gt; &gt; &gt;th just warning showing up.<br>
&gt; &gt; &gt; &gt; &gt;Other than that, it might just work.<br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt;To answer your other question - no, there is no tutorial, for there is<br>
&gt; &gt; &gt; &gt; &gt;no<br>
&gt; &gt; &gt; &gt; &gt;special difference between Weld and many other projects in regard to<br>
&gt; &gt; &gt; &gt; &gt;JDK<br>
&gt; &gt; &gt; &gt; &gt;9.<br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt;Matej<br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt;----- Original Message -----<br>
&gt; &gt; &gt; &gt; &gt;&gt; From: "Alex Sviridov" &lt; <a href="mailto:ooo_saturn7@mail.ru">ooo_saturn7@mail.ru</a> &gt;<br>
&gt; &gt; &gt; &gt; &gt;&gt; To: "weld-dev" &lt; <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a> &gt;<br>
&gt; &gt; &gt; &gt; &gt;&gt; Sent: Sunday, September 17, 2017 3:25:49 PM<br>
&gt; &gt; &gt; &gt; &gt;&gt; Subject: [weld-dev] Weld and Java 9 JPMS<br>
&gt; &gt; &gt; &gt; &gt;&gt; <br>
&gt; &gt; &gt; &gt; &gt;&gt; Hi all<br>
&gt; &gt; &gt; &gt; &gt;&gt; <br>
&gt; &gt; &gt; &gt; &gt;&gt; Could anyone provide information how weld works (if works) with Java<br>
&gt; &gt; &gt; &gt; &gt;&gt; 9<br>
&gt; &gt; &gt; &gt; &gt;&gt; JPMS?<br>
&gt; &gt; &gt; &gt; &gt;&gt; Is there any tutorial?<br>
&gt; &gt; &gt; &gt; &gt;&gt; <br>
&gt; &gt; &gt; &gt; &gt;&gt; Best regards, Alex<br>
&gt; &gt; &gt; &gt; &gt;&gt; <br>
&gt; &gt; &gt; &gt; &gt;&gt; _______________________________________________<br>
&gt; &gt; &gt; &gt; &gt;&gt; weld-dev mailing list<br>
&gt; &gt; &gt; &gt; &gt;&gt; <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
&gt; &gt; &gt; &gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; --<br>
&gt; &gt; &gt; &gt; Alex Sviridov<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; --<br>
&gt; &gt; &gt; Alex Sviridov<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; weld-dev mailing list<br>
&gt; &gt; &gt; <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
&gt; &gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; --<br>
&gt; &gt; Alex Sviridov<br>
&gt; &gt; <br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; weld-dev mailing list<br>
&gt; &gt; <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
&gt; <br>
&gt; <br>
&gt; --<br>
&gt; Alex Sviridov<br>
&gt; <br>
&gt; _______________________________________________<br>
&gt; weld-dev mailing list<br>
&gt; <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
</div>
            
        
                <base target="_self" href="https://e.mail.ru/">
        </div>

        
</div>


</div>
</blockquote>
<br>
<br>-- <br>Alex Sviridov<br></BODY></HTML>