«Правильным» решением является JNI или JNA.
Но тогда это зависит от вашего кода. Например, если вы хотите вызвать утилиту командной строки, скомпилированную с собственным кодом (и не имеет значения, какой язык использовался для кодирования этой утилиты), вызовите ее путем вызова командной строки (используйте либо Runtime.exec()
, либо ProcessBuilder
. Если это это библиотека, использующая JNI / JNA. Если это не просто библиотека, а, например, компонент MS COM (ActiveX), используйте один из доступных проектов взаимодействия Java, таких как Jawin, Jintegra, Jinterop и т. д.