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

2022-08-31 08:00:39

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

编写.jar文件的人希望我导入它,但是我在哪里存储.jar文件以将其导入到我的代码中?我尝试将.jar文件和我.java文件放在同一个目录中,但没有成功。

我正在尝试处理的文件在这里:http://www.winterwell.com/software/jtwitter.php

我正在使用JCreator LE。


答案 1

假设我们需要使用 jar 文件中包含的类Classnameorg.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
    
  • 如果您在窗口下:

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

在此之后,您将获得字节码文件mysource.class

现在你可以运行这个:

  • 如果你在一个类似unix的操作系统下:

    java -cp '.:org.example.jar' mysource
    
  • 如果您在窗口下:

    java -cp .;org.example.jar mysource
    

答案 2

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

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

import org.xml.sax.SAXException;

如果您正在处理 IDE,则应参阅其文档。或者至少指定您在此线程中使用的那个。这肯定会使我们能够为您提供进一步的帮助。

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

java -jar my_program.jar

您应该在 .请参阅此处,了解操作方法。META-INF/MANIFEST.MFjar


推荐