一尘不染

Java 如何使用.jar文件中的类?

java

我在Sun上阅读了有关JAR文件的Java教程,但是仍然找不到解决我问题的方法。我需要使用一个名为jtwitter.jar的jar文件中的类,我下载了该文件并尝试执行该文件(昨天我发现可以通过双击来执行.jar文件),而Vista却给我一个错误提示:无法从[路径] /jtwitter.jar加载Main-Class Manifest属性。

编码.jar文件的人要我将其导入,但是在哪里将.jar文件存储在我的代码中呢?我尝试将.jar文件和.java文件都放在同一目录中,但是没有用。

我要使用的文件在这里:http : //www.winterwell.com/software/jtwitter.php

我正在使用JCreator LE。


阅读 1091

收藏
2020-03-13

共2个答案

一尘不染

并非每个jar文件都是可执行文件。

现在,你需要在java文件中导入jar下的类。例如,

import org.xml.sax.SAXException;

如果你正在使用IDE,则应参考其文档。或者至少在此线程中指定你正在使用哪个。这绝对可以使我们为你提供进一步的帮助。

如果你不使用任何IDE,请查看javac -cp选项。但是,最好将程序打包到一个jar文件中,并在其中包含所有必需jar的。然后,为了执行你的jar一样,

java -jar my_program.jar

你应该在其中有一个META-INF/MANIFEST.MF文件jar。有关如何操作,请参见此处。

2020-03-13
一尘不染

假设我们需要使用Classnamejar文件中包含的类org.example.jar

你的源代码在这样的文件中mysource.java

import org.example.Classname;

public class mysource {
    public static void main(String[] argv) {
    ......
   }
}

首先,如你所见,必须在代码中导入类。为此,你需要import org.example.Classname;

其次,在编译源代码时,必须引用jar文件。

请注意使用:和;编译时的区别

如果你使用的是类似Unix的操作系统:

javac -cp '.:org.example.jar' mysource.java

如果你在Windows下:

javac -cp .;org.example.jar mysource.java

之后,你获得字节码文件 mysource.class

现在你可以运行:

如果你使用的是类似Unix的操作系统:

java -cp '.:org.example.jar' mysource

如果你在Windows下:

java -cp .;org.example.jar mysource
2020-03-13