Официальный способ вызова собственной платформы (неявно, всего кода C / C ++) из Java - через JNI . Я бы не назвал это "не так больно".
Вы могли бы получить SWIG для генерации большей части неприятного кода для вас, я использовал его пару раз, чтобы с некоторым успехом обернуть часть своего собственного кода на C. Однако, я был вынужден «обработать» часть своего кода, чтобы сделать получаемый Java читабельным.
Опция, о которой я читал, но никогда не использовал лично, это JNA . Похоже, меньше работы, чем JNI, но я не могу ручаться за это.
Все эти решения ориентированы на Java, но я не понимаю, почему вы не можете использовать их на любом языке JVM.