If you are definitely sure that you do have to call your legacy C++ code, you have several alternatives to implement your bridge:
- JACE works ok for calling Java from C++, here everything is automatic. Calling C++ from Java is more tricky, you have to write proxies. Your task can be a little simpler if you don't use standard C++, but Cint dialect of C++. In that case you could use Cint (or Reflex) dictionary to build the proxies. JACE works fine and the JACE discussion forum is active.
- JavaRoot allows to call Root functions from Java. The package comes directly from HEP community. It has not been updated for some time, but it may be worth to reanimate. Maybe its author could help you.
- I have no experiance with JNIEasy, I just know it exists.
- NestedVM allows to compile any (really) code compilable by GCC into Java bytecode. It uses patched GCC. This way, you can compile your legace C++ code directly to Java and your problems are gonne.
By the way, calling Java from C++ is much easier, JACE does the excelent job.