有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

openjdk的Java命令没有显示缺少什么类

我正在尝试运行一个测试类,该类在jar中练习类。 它在我开发的Windows机器上运行良好,但在精简的Ubuntu docker映像上无法运行

我认为它失败了,因为它需要一些额外的类来运行,这些类在我的测试机器上找不到

在Windows上使用Oracle的jdk,如果需要缺少一个类,java命令会给出一个堆栈转储,并显示缺少的类的名称

但使用openjdk,它只是简单地说: 错误:无法找到或加载主类com。测验我的测试

有没有办法让openjdk的java命令告诉我缺少的类是什么

请注意,在这种情况下,java的-verbose标志不会产生任何有用的信息


共 (1) 个答案

  1. # 1 楼答案

    缺少的类是com.test.MyTest

    这很可能是docker配置的问题。要运行java jar,它必须选择一个主方法。由于jar中有许多类,因此可以有许多主要方法。通常使用如下命令运行java jar

    java -cp <your jar list> com.test.MyTest
    

    此命令失败,因为在搜索类路径时,找不到该类