Приложение Sap Java Connector в Docker - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь собрать sap java-коннектор, используя springboot.Для создания этого приложения нам нужны sapjco3.jar и sapjco3.so.

Я использую библиотеку Hibersap и добавил зависимости maven jar.В документации сказано, что для запуска приложения нам нужно передать java.library.path = {путь к файлу .so} в параметрах Java.

Приложение работает нормально в Linux, но я сталкиваюсь с:

Caused by: java.lang.ExceptionInInitializerError: JCo initialization failed with java.lang.UnsatisfiedLinkError: /usr/lib/libsapjco3.so: libuuid.so.1: cannot open shared object file: No such file or directory

когда я пытаюсь запустить в Docker.

Я добавил это в свой файл Docker.:

VOLUME ["/var/log/hip"]
ADD maven/@file@ app.jar
COPY libsapjco3.so /usr/lib/libsapjco3.so
RUN chmod a+x -R /usr/lib/libsapjco3.so
RUN sh -c 'touch /app.jar'
CMD [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar --logging.path=/var/log/hip"]

, и я пытаюсь найти путь, используя:

System.setProperty("java.library.path","/usr/lib");

Как я уже сказал, это работает в Windows, используя DLL и Linux, но не работает в Docker, работающем Linux.

1 Ответ

0 голосов
/ 27 августа 2019

У меня была такая же проблема (образ WSO2 Docker и интеграция с SAP), попробуйте установить пакет "libuuid" внутри образа Docker.SAP-коннектор искал libuuid, поэтому я установил его, и он запустился.Я использовал Alpine Linux внутри образа Docker, и это помогло:

apk add libuuid
...