Я вижу вашу проблему здесь:
java.lang.RuntimeException: no native library is found for os.name=Linux and os.arch=x86
Похоже, вы не используете Oracle JVM.Возможно, ваша JVM сообщает о строке os.arch
, отличной от стандартной Oracle JVM, поэтому вам нужно скопировать нативную библиотеку из linux/i386
в linux/x86
(дикое предположение).Запустите поиск google по этой ошибке no native library is found for os.name=Linux and os.arch=x86
и поэкспериментируйте с вашей операционной системой и JVM, чтобы помочь вашей среде выполнения найти необходимые собственные библиотеки.
Обновление: если вы посмотрите на README.mdпроект на github .Вы заметите это:
Portable across various operating systems (currently only Linux/MacOSX/Windows); Apache Commons Crypto loads the library according to your machine environment (it checks system properties, os.name and os.arch).
И это структура dll, которую они имеют в коде,

так что вы можете переопределить системное свойство 'os.arch' для загрузки собственной библиотеки в соответствии с вашей ОС:
System.setProperty("os.arch", "@folder")
Просто для справки, я запускаю код в Windows 10 с Oracle JDK8,поэтому мой производный путь приближается к /org/apache/commons/crypto/native/Windows/x86_64/commons-crypto.dll
Надеюсь, это поможет вам в решении проблемы.