Posted by
RickLutowski on
Apr 02, 2023; 11:39pm
URL: https://forum.jogamp.org/Illegal-reflective-access-with-jogamp-java3d1-7-0-final-tp4042358p4042384.html
gouesse wrote:
> --add-opens has existed since Java 9:
>
https://docs.oracle.com/javase/9/migrate/toc.htmGood reference. Found the section that describes --add-opens, and now know it is involved with deep reflection. Was unaware of --add-opens, probably because my programs have never needed deep reflection. Thanks for the link.
> Bundling a JRE with a Java program is possible and not very difficult, time has changed, most systems
> don't have Java installed anyway, relying on the JRE installed on the system isn't a very good idea
> nowadays, most end users don't even know what a JRE is. If you really want to take care of your
> audience, don't give it a simple JAR, don't require a JRE installed on the system, use the technical
> solution that allows your end users to run your software very easily. For example, Eclipse Theia is
> packaged as an AppImage, Gephi is packaged as a kind of executable for some platforms, ...
While I always expected to include the java3d jars with CM Creator after implementing VR capability, it never occurred to me to include the latest JRE, perhaps because I didn't realize most OEMs have stopped including it (which implies Java is not being used to implement many popular applications, but will avoid all the rabbit holes that opens and stay on topic.) Including the latest JRE _would_ solve a lot of problems including, presumably, the "Illegal reflective access" problem. Also, doing so is permitted by Oracle:
(
https://www.oracle.com/downloads/licenses/no-fee-license.html).
One downside is that the CM Creator 4MB distro would swell to almost 200MB, including java3d, but large downloads aren't as big of a concern as they used to be. Thanks for the idea. I'll look into it.
> ... you can even
> create a DEB and/or RPM package.
> You can use various tool to do that, including jpackage with jlink, PackR (not actively maintained?) or
> some other tools including mine. Please note that this solution would help your end users not to have to
> deal with the JRE by themselves.
Have always wondered how to create a linux distro like a deb. Checked your link (
https://jogamp.org/wiki/index.php/Foreign_Packaging), and JNDT looks very promising for this. With so much work to do on CM Creator, don't know if I'll ever get around to creating deb or rpm for CM Creator but, if I do, JNDT will be where I'll start (still could use one or two CM Creator volunteers!) Looks like you and the jogamp team are doing lots of good things besides supporting java3d. Thanks for all your efforts, and for the link to the distro tools.