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