【问题标题】:Simple Java Application in Docker - Could not find or load Main classDocker 中的简单 Java 应用程序 - 无法找到或加载主类
【发布时间】:2021-01-02 23:34:24
【问题描述】:

我创建了一个简单的 Eclipse 项目,在 src/com/docker/Main.java 中有 Main 类。 当我在构建映像后尝试在 docker 容器中运行它时,我得到了无法找到或加载主类错误。

Docker 镜像内容:

FROM openjdk:8
COPY . /app/
WORKDIR /app
RUN javac src/com/docker/Main.java

CMD ["java", "com.docker.Main"]

我尝试了 RUN 和 CMD 的几种变体,但没有任何效果。我尝试使用斜杠“/”但仍然没有用。

CMD ["java", "com.docker.Main.java"]
CMD ["java", "com.docker.Main.class"]

如果我在javac 部分之后运行以下命令,它会列出Main.javaMain.class 文件。

RUN ls src/com/docker/

【问题讨论】:

  • 试试你的工作目录是 /app/src 。
  • 您必须将-cp src 添加到您的java 命令中
  • @Oo.oO 我只试过-cp,没用
  • 您的代码(生成的类)在src/com/docker/Main.class 中。这就是为什么你必须打电话给java -cp src com.docker.Main
  • @Arnaud 成功了。为什么这是必要的?

标签: java docker


【解决方案1】:

好吧,也许这张图会稍微解释一下参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多