Java - Docker ne parvient pas à installer les dépendances - bibliothèque HTML2PDF

user2868900:

Je fais construire une application Java que je vais accueillir dans un récipient de docker. Une partie de cette application est d'utiliser cette bibliothèque:

https://github.com/wooio/htmltopdf-java

Il faut une URL et il se transforme en un document PDF. Cependant, lors de l' exécution du .jarfichier par docker je reçois l'erreur qui il manque des dépendances natives:

java.lang.UnsatisfiedLinkError: Unable to load library '/tmp/io.woo.htmltopdf/wkhtmltox/0.12.5/libwkhtmltox.so': Native library (tmp/io.woo.htmltopdf/wkhtmltox/0.12.5/libwkhtmltox.so) not found in resource path

Ceci est documenté dans la dernière section du lien ci-dessus, qu'il a besoin de ces bibliothèques afin de fonctionner correctement:

  • libc6 (ou glibc) libx11 libxext libxrender libstdc ++ libssl1.0 freetype fontconfig

Je l' ai modifié mon Dockerfilepour essayer d'installer ces dépendances à la construction docker:

FROM openjdk:8-jdk-alpine

RUN sh -c 'apk update && apk add libssl1.0 libx11 libxext libxrender libstdc++ freetype fontconfig'

COPY server/target/server-0.0.1-SNAPSHOT.jar app.jar

ENTRYPOINT ["java", "-jar", "app.jar"]

Je suis nouveau à docker, mais je trouve ce bout de code dans un numéro du repo github . Mais je ne peux toujours pas faire fonctionner.

Pouvez-vous repérer la question ici pourquoi je ne peux pas exécuter le programme?

Éditer:

Je reçois toujours l'erreur java.lang.UnsatisfiedLinkError: Unable to load library '/tmp/io.woo.htmltopdf/wkhtmltox/0.12.5/libwkhtmltox.so': Native library (tmp/io.woo.htmltopdf/wkhtmltox/0.12.5/libwkhtmltox.so) not found in resource path

Mais quand l' exécution de ssh dans le récipient Docker et en regardant dans le tmp-folder l' io.woo.htmltopdfest listé -library. Le chemin tmp/io.woo.htmltopdf/wkhtmltox/0.12.5/libwkhtmltox.soexiste aussi dans le récipient de docker.

Se pourrait-il quelque chose avec les paramètres de chemin? Que l'application Java n'utilise pas le bon chemin en quelque sorte?

Le app.jarqui est en cours d' exécution se trouve dans le dossier racine, où le tmpdossier est également situé - il devrait le trouver?

user2868900:

J'ai réussi à faire une solution à ce problème en utilisant le natif wkhtmltopdfbibliothèque en même temps que l' enveloppe java wkhtmltopdf .

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=204482&siteId=1
conseillé
Classement