首页 文章

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

提问于
浏览
119

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

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

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

我正在使用JCreator LE .

5 回答

  • 27

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

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

    import org.xml.sax.SAXException;
    

    如果您正在使用IDE,那么您应该参考其文档 . 或者至少在这个帖子中指定你在这里使用的是哪一个 . 它肯定会使我们能够进一步帮助你 .

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

    java -jar my_program.jar
    

    你的 jar 应该有一个 META-INF/MANIFEST.MF 文件 . 有关操作方法,请参见here .

  • 5

    假设我们需要使用jar文件中包含的类 Classname 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
    
  • 6

    您需要在类路径中添加jar文件 . 要编译你的java类:

    javac -cp .;jwitter.jar MyClass.java
    

    要运行代码(假设MyClass包含main方法):

    java -cp .;jwitter.jar MyClass
    

    您可以在任何地方使用jar文件 . 如果jar文件与java文件位于同一目录中,则上述工作 .

  • 11

    正如workmad3所说,你需要jar文件在你的类路径中 . 如果您正在从命令行进行编译,那将意味着使用-classpath标志 . (避免使用CLASSPATH环境变量;这是颈部IMO的痛苦 . )

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

  • 155

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

相关问题