亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么在使用 Docker 時 OpenJDK 8 沒有提取正確的 JavaFX 庫?

為什么在使用 Docker 時 OpenJDK 8 沒有提取正確的 JavaFX 庫?

動漫人物 2022-06-04 09:28:48
我有一個我寫的java程序。主要包括 OpenJDK8、Maven 和 JavaFX。該程序自行構建和運行。我想把它放在一個 Docker 容器中,但是我在構建它時遇到了麻煩。這是我的 Dockerfile:FROM openjdk:8-jdkFROM maven:3.3-jdk-8-onbuildRUN apt-get update && apt-get install -y --no-install-recommends openjfx && rm -rf /var/lib/apt/lists/*CMD ["java","-jar","target/"CodeDemo-1.0-SNAPSHOT.jar"]這是我為構建容器而運行的內容:sudo docker build -t java-maven-code-demo .這是我一直抱怨沒有 javafxpackager 的錯誤:無法在項目 CodeDemo 上執行目標 org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (unpack-dependencies):命令執行失敗。無法運行程序“/usr/lib/jvm/java-8-openjdk-amd64/jre/../bin/javafxpackager”(在目錄“/usr/src/app”中):錯誤=2,沒有這樣的文件或目錄-> [幫助 1]我在 CodeDemo 目錄中有所有文件。在頂層,我有 src、target、Dockerfile、pom.xml。在目標中,我有已編譯的 jar。我對這個錯誤感到困惑,因為我認為 Java 8 OpenJDK 附帶了 JavaFX。所以,如果我要使用 OpenJDK,我應該得到 JavaFX 所需的東西(GitHub 上的類似問題- 解決方案仍然給出了錯誤)。誰能指出我可能做錯的方向?我還應該做些什么來獲得正確的庫嗎?
查看完整描述

1 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

您有多FROM條線路?;谀?Dockerfile,將僅使用 maven 基礎映像。也許在安裝openjfx之前嘗試通過另一個RUN語句安裝openjdk?

我也沒有COPY在您的 Dockerfile 中看到任何聲明。我最初假設CodeDemo-1.0-SNAPSHOT.jar默認情況下存在于 maven 圖像上,但我只是嘗試構建圖像并且它不存在。如果這是您的 Java 程序中的 jar 文件,請不要忘記通過COPYDockerfile 中的語句添加它。


查看完整回答
反對 回復 2022-06-04
  • 1 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號