openjdk的Java命令没有显示缺少哪个类

时间:2015-08-07 15:53:34

标签: openjdk

我正在尝试运行一个在jar中运行类的测试类。 它在我开发的Windows机器上运行正常,但它不能在简化的Ubuntu docker镜像上运行。

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

在Windows上使用Oracle的jdk,如果缺少所需的类,则java命令会提供堆栈转储并显示缺少的类的名称。

但是使用openjdk,它只是说: 错误:无法找到或加载主类com.test.MyTest

有没有我可以让openjdk的java命令告诉我缺少的课程是什么?

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

1 个答案:

答案 0 :(得分:0)

缺少的课程为com.test.MyTest

这很可能是docker配置的问题。要运行java jar,必须选择main方法。由于jar中有许多类,因此可以有许多主要方法。您通常使用类似

的命令运行java jar
java -cp <your jar list> com.test.MyTest

此命令失败,因为正在搜索类路径并且找不到它时。