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

我阅读Sun的JAR文件的Java教程,但我仍然无法find我的问题的解决scheme。 我需要从一个名为jtwitter.jar的jar文件中使用一个类,我下载了这个文件,然后试着执行它(昨天我发现,.jar文件可以通过双击来执行),Vista给了我一个错误,无法从[path] /jtwitter.jar加载Main-Class Manifest属性。

编码.jar文件的人希望我导入它,但是我在哪里存储.jar文件以将其导入到我的代码中? 我试图把.jar文件和我的.java文件放在同一个目录下,不起作用。

我正在努力的文件在这里: http : //www.winterwell.com/software/jtwitter.php

我正在使用JCreator LE。

不是每个jar文件都是可执行的。

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

import org.xml.sax.SAXException; 

如果您正在使用IDE,那么您应该参考其文档。 或者至less指定你在这个线程中使用的是哪一个。 这一定会使我们能够进一步帮助你。

如果您不使用任何IDE,请查看javac -cp选项。 不过,将程序打包到一个jar文件中并包含所有必需的jar是个好主意。 那么,为了执行你的jar

 java -jar my_program.jar 

你的jar应该有一个META-INF/MANIFEST.MF文件。 看到这里 ,如何。

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

而你的源文件是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 

您需要将jar文件添加到类path中。 编译你的java类:

 javac -cp .;jwitter.jar MyClass.java 

运行你的代码(假设MyClass包含一个主要方法):

 java -cp .;jwitter.jar MyClass 

你可以在任何地方有jar文件。 上述的工作,如果jar文件是在你的java文件相同的目录。

正如workmad3所说,你需要将jar文件放在你的类path中。 如果你是从命令行编译,那将意味着使用-classpath标志。 (避免使用CLASSPATH环境variables;这是IMO的脖子痛。)

如果您使用的是IDE,请告诉我们哪一个,我们可以帮助您完成特定于该IDE的步骤。

编译/运行代码时,需要将.jar文件放入类path中。 然后,您只需使用.jar中的类的标准导入。