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

Другие вопросы по тегам