Как использовать классы из файлов.jar?
Я прочитал учебники по Java для Sun для файлов JAR, но все еще не могу найти решение своей проблемы. Мне нужно использовать класс из jar-файла с именем jtwitter.jar, я скачал этот файл и попытался его выполнить (вчера я узнал, что файлы.jar можно выполнить, дважды щелкнув по ним), и Vista выдавала мне сообщение об ошибке " Не удалось загрузить атрибут манифеста основного класса из [path]/jtwitter.jar".
Парень, который кодировал файл.jar, хочет, чтобы я его импортировал, но где мне хранить файл.jar, чтобы импортировать его в мой код? Я попытался поместить и файл.jar, и мой файл.java в один каталог, не получилось.
Файл, для которого я пытаюсь работать, находится здесь: http://www.winterwell.com/software/jtwitter.php
Я использую JCreator LE.
5 ответов
Не каждый файл JAR является исполняемым.
Теперь вам нужно импортировать классы, которые находятся под jar, в ваш файл java. Например,
import org.xml.sax.SAXException;
Если вы работаете над IDE, вам следует обратиться к ее документации. Или, по крайней мере, укажите, какой из них вы используете здесь в этой теме. Это определенно позволит нам помочь вам в дальнейшем.
И если вы не используете какую-либо IDE, пожалуйста, посмотрите опцию javac -cp. Тем не менее, это гораздо лучшая идея, чтобы упаковать вашу программу в jar
файл, и включите все необходимые jar
в этом. Затем, чтобы выполнить ваш jar
, лайк,
java -jar my_program.jar
ты должен иметь META-INF/MANIFEST.MF
файл в вашем jar
, Смотрите здесь, для получения инструкций.
Допустим, нам нужно использовать класс Classname
который содержится в файле JAR 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
Если вы находитесь под окнами:
javac -cp .;org.example.jar mysource.java
После этого вы получите файл байт-кода mysource.class
Теперь вы можете запустить это:
Если вы работаете под Unix-подобной операционной системой:
java -cp '.:org.example.jar' mysource
Если вы находитесь под окнами:
java -cp .;org.example.jar mysource
Вам нужно добавить файл jar в путь к классам. Чтобы скомпилировать ваш Java-класс:
javac -cp .;jwitter.jar MyClass.java
Чтобы запустить ваш код (при условии, что MyClass содержит метод main):
java -cp .;jwitter.jar MyClass
Вы можете иметь файл jar где угодно. Вышеуказанное работает, если файл JAR находится в том же каталоге, что и ваш файл Java.
Вам нужно поместить файл.jar в ваш путь к классу при компиляции / запуске вашего кода. Тогда вы просто используете стандартный импорт классов в.jar.
Как говорит workmad3, файл jar должен находиться в вашем пути к классам. Если вы компилируете из командной строки, это будет означать использование флага -classpath. (Избегайте переменной окружения CLASSPATH; это боль в шее IMO.)
Если вы используете IDE, сообщите нам, какой именно, и мы сможем помочь вам с действиями, специфичными для этой IDE.