Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么会出错;错误:找不到或加载主类“;在docker运行时发生?_Java_Linux_Docker_Jar_Dockerfile - Fatal编程技术网

Java 为什么会出错;错误:找不到或加载主类“;在docker运行时发生?

Java 为什么会出错;错误:找不到或加载主类“;在docker运行时发生?,java,linux,docker,jar,dockerfile,Java,Linux,Docker,Jar,Dockerfile,我有网络应用和桌面应用。该web应用程序已添加到docker图像,一切正常。但是,桌面应用程序在启动映像后找不到启动类。当我在命令行和docker中运行相同的命令时,命令行中的一切都正常工作,应用程序正确启动,当我启动docker映像时: docker run d36 出现以下错误: Error: Could not find or load main class mlogger.Main Dockerfile: FROM openjdk:8-jdk COPY out/artifacts/m

我有网络应用和桌面应用。该web应用程序已添加到docker图像,一切正常。但是,桌面应用程序在启动映像后找不到启动类。当我在命令行和docker中运行相同的命令时,命令行中的一切都正常工作,应用程序正确启动,当我启动docker映像时:

docker run d36
出现以下错误:

Error: Could not find or load main class mlogger.Main
Dockerfile:

FROM openjdk:8-jdk
COPY out/artifacts/mlogger_app_jar2/mlogger-app.jar .
CMD java -Dfile.encoding=UTF-8 -jar mlogger-app.jar

我试图用Add代替副本。我已经阅读了所有关于类似主题的条目,但没有任何帮助。也许我在创建dockerfile时遗漏了什么?

你能给我们看一下完整的stacktrace吗?谢谢,包括任何嵌套的stacktrace。@Stephen好的,我该怎么做?你使用的方法对我很有效--我刚刚试过。Java JVM可以清楚地找到您的JAR文件,因为它能够读取清单并尝试加载mlogger.Main。它不能做到这一点的事实表明,您的JAR文件结构不正确。它是否有一个名为mlogger的目录,并且在该目录中有一个名为Main.class的类?@PawełPamuła-您需要捕获写入标准输出和标准错误的内容。@KevinBoone是的,我的.jar文件中有mlogger包,包中有Main.class。我认为,如果我的.jar的结构不好,它将无法正确地使用命令行启动。也许docker没有桌面环境,而我想在其中运行javafx应用程序这一事实会产生影响?你能给我们看完整的stacktrace吗?谢谢,包括任何嵌套的stacktrace。@Stephen好的,我该怎么做?你使用的方法对我很好——我刚刚尝试过。Java JVM可以清楚地找到您的JAR文件,因为它能够读取清单并尝试加载mlogger.Main。它不能做到这一点的事实表明,您的JAR文件结构不正确。它是否有一个名为mlogger的目录,并且在该目录中有一个名为Main.class的类?@PawełPamuła-您需要捕获写入标准输出和标准错误的内容。@KevinBoone是的,我的.jar文件中有mlogger包,包中有Main.class。我认为,如果我的.jar的结构不好,它将无法正确地使用命令行启动。docker没有桌面环境,我想在其中运行javafx应用程序,这可能会产生影响?