We should start looking at JDK 9 (Jigsaw) and reflection. There will certainly be some obstacles due to modular system and strong encapsulation being enforced.
We need to investigate if and how will such changes impair Weld.
Some materials regarding JDK 9 and reflections:
Known problems caused by reflection so far:
- Pretty much any test run is impaired by reflection problem
- Can be bypassed by adding --add-opens java.base/java.lang=ALL-UNNAMED as surefire VM args
- What it does is that is opens package java.lang from module java.base into unnamed module which makes it accessible for reflection
- Includes unit tests, tests-arquillian, tck runner, servlet tests, SE tests, ...
- The real reason below is jboss class file writer making a reflective call into JDK