java class 无法识别我要导入的 jar 文件

java class does not recognize the jar file im going to import

我将 a.jar 下载到 work space/project name/lib。我可以将它添加到构建路径中。但是我遇到的问题是我无法将这个 jar 文件导入 class。 :(

假设我拥有的 jar 文件是 a.jar。我将使用此 jar 文件中的 main 方法来执行一些操作。但我无法导入此 a.jar,因为它无法识别 jar 文件的名称。

我怎样才能做到这一点?或者有更好的方法吗?

通常我使用命令行来 运行 jar 文件。现在我想从代码中自动化它。如果可以,请帮助我。

谢谢

A jar 不包含 main 方法。它与 ZIP 存档完全不同。

一个可执行文件 JAR有一个Main-Class(完全限定的class名称)和META-INF/MANIFEST.MF中定义的main方法:

Main-Class: my.company.MainClass

如果您想调用 Main-Classmain 方法,请将此 JAR 文件添加到 Java class 路径。在您的代码中添加 main 调用,例如:

...
import my.company
...
public void yourMethodWithMainCall() {
 // my.company.MainClass is defined as 'Main-Class' in META-INF/MANIFEST.MF of a.jar
 MainClass.main(...);
 ...
}

JAR 文件是 Java 存档。如果你用 OS 的存档管理器打开它,寻找 META-INF 目录和 MANIFEST.MF 文件,它是文本文件。它包含有关主要 class 的信息,您可以 运行。例如:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.4
Created-By: 1.8.0_25-b17 (Oracle Corporation)
Class-Path: 
X-COMMENT: Main-Class will be added automatically by build
Main-Class: javaapplication1.JavaApplication1