Это дает много преимуществ, не в последнюю очередь - возможность работать в большинстве операционных систем.
Один из способов сохранить вашу библиотеку в достаточной степени свободной - это потребовать ее инициализации перед использованием.Тогда вы бы в your_lib_init ();Функция принимает указатель на функцию регистрации бэкэнда.Это означает, что бэкэнд может быть переписан для любой платформы, на которой он может работать.
Также выясните, хотите ли вы, чтобы библиотека была полностью свободна от всех библиотечных зависимостей, или библиотека, которая зависит от стандартного пути к классам.Если это чистая Java, она будет работать на J2ME, Android, нативно скомпилированной Java с GCJ , а что нет.Если он использует путь к классу, он будет переносимым на все реализации пути к классам, практически везде, где работает OpenJDK.