0

springboot を使用して sap Java コネクタを構築しようとしています。このアプリをビルドするには、sapjco3.jar と sapjco3.so が必要です。

私は Hibersap ライブラリを使用しており、maven jar の依存関係を追加しました。ドキュメントでは、アプリを実行するには、Java パラメータで java.library.path={path to the .so file} を渡す必要があると書かれています。

アプリケーションは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で実行しようとしているとき。

これを dockerfile に追加しました。:

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");

私が言ったように、これは dll と Linux を使用して Windows で動作していますが、Linux を実行している Docker では失敗しています。

4

1 に答える 1