<HTML><BODY>Thank you for your answer. <br><br>Could anyone give any suggestion about the following?<br><br>I have my named module and weld-se-shaded as unnamed module.<br>In my module I have<br><br>module my.module {<br> requires weld.se.shaded;<br> exports com.foo;<br>}<br><br>#################################<br>package com.foo;<br><br>import javax.enterprise.context.ApplicationScoped;<br>import javax.inject.Inject;<br><br>@ApplicationScoped<br>public class NewClass {<br><br> @Inject<br> private NewBean bean;<br><br> public void doIt() {<br> bean.doIt();<br> }<br><br>}<br><br>#################################<br>package com.foo;<br><br>import javax.enterprise.context.Dependent;<br><br>@Dependent<br>public class NewBean {<br><br> public void doIt() {<br> System.out.println("I am doing it);<br> }<br>}<br><br>And this is the result<br><br>Sep 18, 2017 2:33:12 PM org.jboss.weld.bootstrap.WeldStartup <clinit><br>INFO: WELD-000900: 3.0.2 (2017-09-18 08:49)<br>Sep 18, 2017 2:33:12 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>Sep 18, 2017 2:33:12 PM org.jboss.weld.bootstrap.WeldStartup startContainer<br>INFO: WELD-000101: Transactional services not available. Injection of @Inject UserTransaction not available. Transactional observers will be invoked synchronously.<br>Exception in thread "main" java.lang.reflect.InaccessibleObjectException<br> at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)<br> at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)<br> at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)<br> at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)<br> at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:590)<br> at java.base/java.util.concurrent.ForkJoinTask.get(ForkJoinTask.java:996)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.AbstractExecutorServices.checkForExceptions(AbstractExecutorServices.java:72)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.AbstractExecutorServices.invokeAllAndCheckForExceptions(AbstractExecutorServices.java:58)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.AbstractExecutorServices.invokeAllAndCheckForExceptions(AbstractExecutorServices.java:66)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.ConcurrentBeanDeployer.createClassBeans(ConcurrentBeanDeployer.java:65)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:256)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.WeldStartup.deployBeans(WeldStartup.java:422)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:83)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.environment.se.Weld.initialize(Weld.java:789)<br> at my.module/com.foo.NewMain.main(NewMain.java:47)<br>Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private com.foo.NewBean com.foo.NewClass.bean accessible: module my.module does not "opens com.foo" to module weld.se.shaded<br> at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:337)<br> at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:281)<br> at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:176)<br> at java.base/java.lang.reflect.Field.setAccessible(Field.java:170)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.security.GetAccessibleCopyOfMember.of(GetAccessibleCopyOfMember.java:38)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.security.GetAccessibleCopyOfMember.run(GetAccessibleCopyOfMember.java:44)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.security.GetAccessibleCopyOfMember.run(GetAccessibleCopyOfMember.java:26)<br> at java.base/java.security.AccessController.doPrivileged(Native Method)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.FieldInjectionPoint.<init>(FieldInjectionPoint.java:65)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.InjectionPointFactory.createFieldInjectionPoint(InjectionPointFactory.java:141)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.InjectionPointFactory.addFieldInjectionPoint(InjectionPointFactory.java:226)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.InjectionPointFactory.getFieldInjectionPoints(InjectionPointFactory.java:211)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.producer.DefaultInjector.<init>(DefaultInjector.java:56)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.producer.ResourceInjector.<init>(ResourceInjector.java:57)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.producer.ResourceInjector.of(ResourceInjector.java:48)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.producer.BeanInjectionTarget.<init>(BeanInjectionTarget.java:63)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.injection.producer.BeanInjectionTarget.createDefault(BeanInjectionTarget.java:47)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.manager.InjectionTargetFactoryImpl.chooseInjectionTarget(InjectionTargetFactoryImpl.java:139)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:88)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bean.ManagedBean.<init>(ManagedBean.java:100)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bean.ManagedBean.of(ManagedBean.java:80)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.AbstractBeanDeployer.createManagedBean(AbstractBeanDeployer.java:280)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.BeanDeployer.createClassBean(BeanDeployer.java:221)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:68)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.bootstrap.ConcurrentBeanDeployer$2.doWork(ConcurrentBeanDeployer.java:65)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:62)<br> at weld.se.shaded@3.0.2-SNAPSHOT/org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:55)<br> at java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1431)<br> at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:283)<br> at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1603)<br> at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)<br><br><br><br><br><br><blockquote style="border-left:1px solid #0857A6; margin:10px; padding:0 0 0 10px;">
        Понедельник, 18 сентября 2017, 14:18 +03:00 от Matej Novotny <manovotn@redhat.com>:<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_15057335130000000279_BODY">Hi,<br>
<br>
if you are in SE, you should only need 'weld-se-shaded' artifact (as a JAR).<br>
As it is "shaded", it brings along all the other parts of Weld you might need.<br>
<br>
Matej<br>
<br>
<br>
----- Original Message -----<br>
> From: "Alex Sviridov" <<a href="mailto:ooo_saturn7@mail.ru">ooo_saturn7@mail.ru</a>><br>
> To: "weld-dev" <<a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a>><br>
> Sent: Monday, September 18, 2017 12:17:28 PM<br>
> Subject: Re: [weld-dev] Weld and Java 9 JPMS<br>
> <br>
> Hi Matej<br>
> <br>
> I am just trying to make Weld work in Java 9 (JavaSE + JPMS).<br>
> <br>
> I use the following jars as automatic modules:<br>
> <br>
> weld-environment-common-3.0.2-SNAPSHOT.jar<br>
> weld-se-core-3.0.2-SNAPSHOT.jar<br>
> weld-se-shaded-3.0.2-SNAPSHOT.jar<br>
> weld-spi-3.0.SP1.jar<br>
> weld-core-impl-3.0.2-SNAPSHOT.jar<br>
> <br>
> Is this right configuration? Or should I add/remove something.<br>
> <br>
> Best regards, Alex<br>
> <br>
> <br>
> <br>
> Понедельник, 18 сентября 2017, 12:41 +03:00 от Matej Novotny<br>
> <<a href="mailto:manovotn@redhat.com">manovotn@redhat.com</a>>:<br>
> <br>
> Uhm, is there anything blocking you from placing it where you would in Java<br>
> 8?<br>
> E.g. src/main/resources/META-INF?<br>
> <br>
> I don't think I have tried this combination (or I do not recall).<br>
> From the top of my head I don't know any JDK 9 limitation which would forbid<br>
> to use XML descriptors in this way.<br>
> I might be a bit rusty though; been a while since I played with Java 9.<br>
> <br>
> Please do report back with how this works for you :)<br>
> Matej<br>
> <br>
> ----- Original Message -----<br>
> > From: "Alex Sviridov" < <a href="mailto:ooo_saturn7@mail.ru">ooo_saturn7@mail.ru</a> ><br>
> > To: "Matej Novotny" < <a href="mailto:manovotn@redhat.com">manovotn@redhat.com</a> ><br>
> > Sent: Monday, September 18, 2017 10:28:11 AM<br>
> > Subject: Re[2]: [weld-dev] Weld and Java 9 JPMS<br>
> > <br>
> > Thank you for your answer. I will try. But where should I place beans.xml<br>
> > to make Weld read it if I use Java SE+ JPMS?<br>
> > <br>
> > Best regards, Alex<br>
> > <br>
> > <br>
> > >Понедельник, 18 сентября 2017, 8:10 +03:00 от Matej Novotny<br>
> > >< <a href="mailto:manovotn@redhat.com">manovotn@redhat.com</a> >:<br>
> > > <br>
> > >Hi Alex<br>
> > > <br>
> > >Back there we did some tests with earlier versions of Java 9 and<br>
> > >eliminated<br>
> > >some crucial problems.<br>
> > >I think it should be possible to take *existing* app and run it on Java 9.<br>
> > > <br>
> > >However, creating a whole new modular project might present some<br>
> > >additional<br>
> > >challenges.<br>
> > >Weld itself is not modularized (since it needs to run on Java 8),<br>
> > >therefore<br>
> > >you would need to list some extra "requires" in module-info.java for Weld.<br>
> > >You also need to have reflection access allowed (we need to instantiate<br>
> > >proxies etc) but last time I checked, it was by default enabled in JDK 9<br>
> > >wi<br>
> > >th just warning showing up.<br>
> > >Other than that, it might just work.<br>
> > > <br>
> > >To answer your other question - no, there is no tutorial, for there is no<br>
> > >special difference between Weld and many other projects in regard to JDK<br>
> > >9.<br>
> > > <br>
> > >Matej<br>
> > > <br>
> > >----- Original Message -----<br>
> > >> From: "Alex Sviridov" < <a href="mailto:ooo_saturn7@mail.ru">ooo_saturn7@mail.ru</a> ><br>
> > >> To: "weld-dev" < <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a> ><br>
> > >> Sent: Sunday, September 17, 2017 3:25:49 PM<br>
> > >> Subject: [weld-dev] Weld and Java 9 JPMS<br>
> > >> <br>
> > >> Hi all<br>
> > >> <br>
> > >> Could anyone provide information how weld works (if works) with Java 9<br>
> > >> JPMS?<br>
> > >> Is there any tutorial?<br>
> > >> <br>
> > >> Best regards, Alex<br>
> > >> <br>
> > >> _______________________________________________<br>
> > >> weld-dev mailing list<br>
> > >> <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
> > >> <a href="https://lists.jboss.org/mailman/listinfo/weld-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/weld-dev</a><br>
> > <br>
> > <br>
> > --<br>
> > Alex Sviridov<br>
> > <br>
> <br>
> <br>
> --<br>
> Alex Sviridov<br>
> <br>
> _______________________________________________<br>
> weld-dev mailing list<br>
> <a href="mailto:weld-dev@lists.jboss.org">weld-dev@lists.jboss.org</a><br>
> <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>