Быстрый Google возвращает список вариантов (увы, не обновляется в течение 5 лет).
Что касается плюсов / минусов - на мой взгляд
Собственный движок с привязками был бы худшим вариантом, когда дело доходит до распространения и интеграции, но может быть быстрее, чем нативные движки Java (но я бы хотел сначала доказательства).
Java-движок с API может привести к некоторой неловкости в точках интеграции, но его будет легко распространять.
Пролог к компилятору байт-кода должен хорошо обрабатывать интеграцию между двумя языками и означать, что вы не отправляете скрипты пролога с двоичным файлом (может быть недостатком). Большой недостаток в этом - никто, похоже, не жив.
Пролог-подобный язык для компилятора байт-кода , такой же, как и выше, но некоторые все еще кажутся плавающими, также потребует знания нового языка.
Движок правил Java - Я бы посчитал это самым удачным решением. Вместо того, чтобы использовать два языка, кодируйте правила в стиле Java-y, но это зависит от того, насколько сложно правила выразить таким образом.
Второе, что нужно рассмотреть, - это проект, который все еще обновляется. Из моего быстрого Google мало кто. Prova и Mandarax являются двумя исключениями из последних опций.