Java 使用清单创建的Jar找不到类

Java 使用清单创建的Jar找不到类,java,jar,ant,manifest,Java,Jar,Ant,Manifest,我已经创建了一个jar due ant,它具有以下manifest.mf Manifest-Version: 1.0 Ant-Version: Apache Ant 1.9.14 Created-By: 1.7.0_80-b15 (Oracle Corporation) Main-Class: eu.ohim.ebc.filenet.app.StartApplication Class-Path: dist/DocExtract.jar ./lib/ErrorControl_2.1.jar J

我已经创建了一个jar due ant,它具有以下manifest.mf

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.14
Created-By: 1.7.0_80-b15 (Oracle Corporation)
Main-Class: eu.ohim.ebc.filenet.app.StartApplication
Class-Path: dist/DocExtract.jar ./lib/ErrorControl_2.1.jar
Jar有以下内容

--> META-INF 
  --> MANIFEST.MF 

--> eu
  --> ohim
    --> ebc
      --> filenet
        --> app
          --> StartApplication.class

在与dist相同的级别上,我有一个名为lib的文件夹,带有ErrorControl_2.1.jar

因此,结构是

build.xml
dist
  --> DocExtract.jar
lib
  --> ErrorControl_2.1.jar

如果我尝试从基本目录执行java ant目标,我会收到ErrorControl_2.1.jar中某个类的classNotFoundException。看来他找不到罐子了。我是否必须在jar中附加生成的所有jar文件,并在清单中使用jar中的路径?这个路径是相对于jar的,还是相对于我正在执行java-jar的位置的?

好的。问题解决了。没有必要在我正在执行的jar中添加外部jar。而且,在manifest.mf中,路径必须是相对于包装此清单的jar的