Как использовать классы из .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.