我在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。
并非每个jar文件都是可执行文件。
现在,你需要在java文件中导入jar下的类。例如,
import org.xml.sax.SAXException;
如果你正在使用IDE,则应参考其文档。或者至少在此线程中指定你正在使用哪个。这绝对可以使我们为你提供进一步的帮助。
如果你不使用任何IDE,请查看javac -cp选项。但是,最好将程序打包到一个jar文件中,并在其中包含所有必需jar的。然后,为了执行你的jar一样,
javac -cp
jar
java -jar my_program.jar
你应该在其中有一个META-INF/MANIFEST.MF文件jar。有关如何操作,请参见此处。
META-INF/MANIFEST.MF
假设我们需要使用Classnamejar文件中包含的类org.example.jar
Classnamejar
org.example.jar
你的源代码在这样的文件中mysource.java:
mysource.java
import org.example.Classname; public class mysource { public static void main(String[] argv) { ...... } }
首先,如你所见,必须在代码中导入类。为此,你需要import org.example.Classname;
import org.example.Classname;
其次,在编译源代码时,必须引用jar文件。
请注意使用:和;编译时的区别
如果你使用的是类似Unix的操作系统:
Unix
javac -cp '.:org.example.jar' mysource.java
如果你在Windows下:
javac -cp .;org.example.jar mysource.java
之后,你获得字节码文件 mysource.class
mysource.class
现在你可以运行:
java -cp '.:org.example.jar' mysource
java -cp .;org.example.jar mysource