Java 不能';运行jar文件时找不到或加载主类

Java 不能';运行jar文件时找不到或加载主类,java,packaging,manifest.mf,Java,Packaging,Manifest.mf,我知道这是一个常见的问题,但我已经尝试了很多方法来解决这个问题 主类名:Test 我已经包含了一个带有Main Class属性的MANIFEST.MF,如下所示: Main类:src.client.Test Main类:classes.client.Test Main类:client.Test 主类:测试 上述操作均无效。(jar位于部署目录中) 这是我项目的内容: 在我的部署配置文件中,我包括: MANIFEST.MF lib目录 文件的组贡献者的所有合并内容(Test.class,我正在使

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

主类名:Test

我已经包含了一个带有
Main Class
属性的
MANIFEST.MF
,如下所示:

  • Main类:src.client.Test
  • Main类:classes.client.Test
  • Main类:client.Test
  • 主类:测试
  • 上述操作均无效。(jar位于部署目录中)

    这是我项目的内容:

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

  • MANIFEST.MF
  • lib目录
  • 文件的组贡献者的所有合并内容(
    Test.class
    ,我正在使用的外部
    jar
  • 注意:我使用的是jdeveloper12cIDE


    我尝试过相关的帖子,但没能成功:


    您的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
    属性,尽管
    类路径是错误的


    .jar
    文件的结构如下所示:

    myjar/client/Test.class

    myjar/META-INF/MANIFEST.MF

    myjar/myexternal.jar


    我必须在我的
    MANIFEST.MF
    中提到
    myexternal.jar
    ,如下所示:

    正确
    类路径:../myexternal.jar

    错误
    类路径:myexternal.jar

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


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

    我应该使用
    java
    命令打包它吗?我正试图通过IDEstill以一种自动化的方式完成它,它不识别
    主类
    ,我有你提到的确切结构(除了
    com/external/package
    等),如果我在同一
    dir
    中提取
    jar
    ,并执行
    java-jar myjar.jar
    它运行,这真是太奇怪了!只要
    external.jar
    myjar.jar
    在同一个
    dir
    中,它就可以工作。这怎么可能?(即使我从我的
    dir
    中删除
    Test.class
    ,它仍然运行我的
    myjar.jar
    myjar.jar
    包含
    external.jar
    客户机
    META-INF
    )您可以发布您得到的确切异常吗?可能是未解析的依赖关系导致main加载失败?需要完整的堆栈跟踪,据我所知,两者都是错误的。对于纯java,根本不可能以这种方式指定另一个jar中包含的jar。可能存在一个与代码b相关的工作..\myexternal.jar从中加载包含的应用程序的ase?