运行 jar 文件时无法找到或加载主 class

Couldn't find or load main class when running jar file

我知道这是一个常见问题,但我已经尝试了很多方法来解决这个问题。

主要Class名称:测试

我添加了一个 MANIFEST.MFMain-Class 属性,如下所示:

  1. Main-Class: src.client.Test
  2. Main-Class: classes.client.Test
  3. Main-Class: client.Test
  4. Main-Class: Test
上面的

None 有效。(jar 位于 deploy 目录中)

这是我项目的内容:

在我的部署配置文件中包括:

  1. MANIFEST.MF
  2. lib目录
  3. 文件组贡献者的所有合并内容(Test.class,我正在使用的外部 jar

注意:我正在使用 JDeveloper 12c IDE


相关帖子我已经试过了,但我无法让它发挥作用:

Could not find or load main class with a Jar File

您的 jar 应该具有以下结构:

  yourjar.jar
  |-client
  | |-Test.class
  |-com
  | |-external
  |   |-package
  |     |-SomeClass.class
  |     |-SomeOtherClass.class
  | ....
  |-META-INF
    |-MANIFEST.MF

您的 MANIFEST.MF 文件应包含

Main-Class: client.test

我正确地提到了 Main-Class 属性,尽管 Class-Path 是错误的


.jar 文件的结构如下:

myjar/client/Test.class

myjar/META-INF/MANIFEST.MF

myjar/myexternal.jar


我不得不在我的 MANIFEST.MF 中提到 myexternal.jar 如下:

正确Class-Path: ../myexternal.jar

错误 : Class-Path: myexternal.jar

我不知道这是否有意义,我不应该因为提及 myexternal.jar

的错误方式而在加载主 class 时出现异常

尽管如此,这还是解决了它!