I have an eclipse e4 Java project with several thousands of classes spread across about 40 plug-in projects. The software functions perfectly well when run from the Eclipse workbench. For nearly two years now I have casually been trying to export the product so that it can be run stand-alone. In the distant past I have been able to do this.
These efforts have been hampered by the fact that the eclipse base is a moving target. On numerous attempts I have run into problems that then turn out to be Eclipse bugs or gotchas. Now there is pressure to run the system stand-alone, and I have been working on this in earnest. I have cleared away versioning and dependency issues with various plugins (particularly Guava). I have a persistent problem that for several weeks I have not been able to budge:
I have a class named 'Environment' in a project called 'au.xxxxx.yyyy.sysenv'. It is a very central class to the system. The Environment class provides static and class methods. The main project 'au.xxxxx.yyyy.one' runs Activator.start() that uses static methods from Environment.java. The Activator.start() method fails with a BundleException caused by "ClassNotFoundException: au.xxxxx.yyyy.sysenv.Environment cannot be found by au.xxxxx.yyyy.one_1.0.0.202305301827"
I am certain that Environment is exported from the 'sysenv' project. The 'one' project includes the 'sysenv' project as a Required Plug-in. The binary build of the sysenv project includes the Environment class. I have verified that the environment class is in the sysenv jar file in the exported plug-in directory. I feel like Einstein's idiot now - doing the same build over and over expecting a different result: to no avail.
Since I have had a few problems with the Eclipse product export, and have been advised separately to use Tycho (which I am reluctant to learn simply to fix something that should work) I am inclined to think this is a bug in the product export. I'd really be happy if anyone could shed light or suggest something to try to make this work.
I export the product using a product definition. The product works in the IDE, but throws ClassNotFound exception when run as a product.
All the work is on Ubuntu22.10, and I am using Eclipse 2023-03 (4.27.0)