Ich habe die Java-Tutorials zu Sun für JAR-Dateien gelesen, kann aber immer noch keine Lösung für mein Problem finden. Ich muss eine Klasse aus einer JAR-Datei namens jtwitter.jar verwenden. Ich habe die Datei heruntergeladen und versucht, sie auszuführen (ich habe gestern herausgefunden, dass JAR-Dateien ausgeführt werden können, indem ich darauf doppelklicke). Vista hat mir die Fehlermeldung " Fehler beim Laden des Hauptklassen-Manifest-Attributs aus [Pfad] /jtwitter.jar ".
Der Typ, der die JAR-Datei codiert hat, möchte, dass ich sie importiere, aber wo speichere ich die JAR-Datei, um sie in meinen Code zu importieren? Ich habe versucht, sowohl die JAR-Datei als auch meine Java-Datei in dasselbe Verzeichnis zu stellen. Dies hat nicht funktioniert.
Die Datei, für die ich arbeiten möchte, befindet sich hier: http://www.winterwell.com/software/jtwitter.php
Ich benutze JCreator LE.
Antworten:
Nicht jede JAR-Datei ist ausführbar.
Jetzt müssen Sie die Klassen, die sich unter der JAR befinden, in Ihre Java-Datei importieren. Beispielsweise,
Wenn Sie an einer IDE arbeiten, sollten Sie deren Dokumentation lesen. Oder geben Sie zumindest an, welche Sie hier in diesem Thread verwenden. Es würde uns definitiv ermöglichen, Ihnen weiter zu helfen.
Und wenn Sie keine IDE verwenden, schauen Sie sich bitte die Option javac -cp an . Es ist jedoch viel besser, Ihr Programm in eine
jar
Datei zu packen und alle erforderlichenjar
s darin aufzunehmen. Dann, um Ihre auszuführenjar
, wieSie sollten eine
META-INF/MANIFEST.MF
Datei in Ihrem habenjar
. Anleitungen finden Sie hier .quelle
import
- es wird nur vermieden, dass der vollständig qualifizierte Klassenname geschrieben werden muss, wer auch immer die Klasse verwendet wird, und es wird nur der einfache Klassenname (SAXException
) zugelassenAngenommen, wir müssen die Klasse verwenden
Classname
, die in der JAR-Datei enthalten istorg.example.jar
Und Ihre Quelle befindet sich in der Datei
mysource.java
wie folgt :Wie Sie sehen, müssen Sie zunächst in Ihrem Code die Klassen importieren. Dazu brauchst du
import org.example.Classname;
Zweitens müssen Sie beim Kompilieren der Quelle auf die JAR-Datei verweisen.
Bitte beachten Sie den Unterschied bei der Verwendung
:
und;
beim KompilierenWenn Sie unter einem Unix-ähnlichen Betriebssystem arbeiten:
Wenn Sie unter Windows sind:
Danach erhalten Sie die Bytecode-Datei
mysource.class
Jetzt können Sie Folgendes ausführen:
Wenn Sie unter einem Unix-ähnlichen Betriebssystem arbeiten:
Wenn Sie unter Windows sind:
quelle
.
vonorg.example.jar
.*PATH
Variablen: JAR-Dateien müssen einzeln benannt werden .Sie müssen die JAR-Datei im Klassenpfad hinzufügen. So kompilieren Sie Ihre Java-Klasse:
So führen Sie Ihren Code aus (vorausgesetzt, MyClass enthält eine Hauptmethode):
Sie können die JAR-Datei überall haben. Die obigen Schritte funktionieren, wenn sich die JAR-Datei im selben Verzeichnis wie Ihre Java-Datei befindet.
quelle
Sie müssen die JAR-Datei in Ihren Klassenpfad einfügen, wenn Sie Ihren Code kompilieren / ausführen. Dann verwenden Sie einfach Standardimporte der Klassen in der .jar.
quelle
Wie workmad3 sagt, muss sich die JAR-Datei in Ihrem Klassenpfad befinden. Wenn Sie über die Befehlszeile kompilieren, bedeutet dies, dass Sie das Flag -classpath verwenden. (Vermeiden Sie die Umgebungsvariable CLASSPATH; es ist ein Schmerz im Nacken IMO.)
Wenn Sie eine IDE verwenden, teilen Sie uns bitte mit, welche und wir können Ihnen bei den für diese IDE spezifischen Schritten helfen.
quelle