Ich habe 3 JAR-Dateien und eine Java-Datei, die von diesen JAR-Dateien abhängt. Wie kompiliere ich die Java-Datei mit diesen JAR-Dateien über eine Eingabeaufforderung?
java
jar
command-prompt
user1177567
quelle
quelle
java -cp ".;magic.jar" Foo
ist okjava Foo -cp ".;magic.jar"
ist nicht.Antworten:
Sie können Ihre JAR-Dateien mit der Option "-cp" in den Befehl "javac" aufnehmen.
Anstelle von "-cp" können Sie auch "-classpath" verwenden.
Sie können die Jars bei jeder Kompilierung einschließen, indem Sie die Umgebungsvariable "CLASSPATH" richtig einstellen. Die Umgebungsvariable speichert den Pfad, in dem sich die Jars und Klassen befinden, die zum Kompilieren / Ausführen einer Java-Datei verwendet werden müssen. Sie müssen die Gläser nicht jedes Mal einzeln einschließen, wenn Sie Ihre Datei kompilieren.
Verschiedene Maschinen haben unterschiedliche Methoden, um den Klassenpfad als Umgebungsvariable festzulegen. Die Befehle für Windows, Linux usw. sind unterschiedlich.
Weitere Details finden Sie in diesem Blog .
quelle
javac -classpath ".:/home/path/mail.jar;/home/path/servlet.jar" MyJavaFile.java
arbeitete für mich. Ich habe einen Mac benutzt. Ich habe irgendwo gelesen, dass ':' für Unix verwendet wird..:
das Entschuldigung, wenn es eine dumme Frage ist, aber es ist mir nicht klar.javac -cp .:/home/path/mail.jar:/home/path/servlet.jar; MyJavaFile.java
Bitte versuchen Sie es unter Linux
BEISPIEL: -
quelle
.:/jars
ersetzt durch das Verzeichnis, in dem sich meine JAR-Dateien befinden, erhalte ich die Fehlermeldungjavac: invalid flag: /location/of/first/jar/file.jar
.Die Syntax funktioniert unter Windows dos:
quelle
Versuchen Sie, alle Abhängigkeits-JAR-Dateien über Umgebungsvariableneinstellungen zu Ihrem Klassenpfad hinzuzufügen, oder führen Sie die folgenden Schritte aus:
Legen Sie den Klassenpfad für Ihre Abhängigkeits-JAR-Dateien wie folgt fest:
set classpath=C:\Users\sarath_sivan\Desktop\jars\servlet-api.jar; C:\Users\sarath_sivan\Desktop\jars\spring-jdbc-3.0.2.RELEASE; C:\Users\sarath_sivan\Desktop\jars\spring-aop-3.0.2.RELEASE;
Jetzt können Sie Ihre Java-Datei kompilieren. (Befehl:
javac YourJavaFile.java
)Hoffe, dies wird Ihr Abhängigkeitsproblem lösen.
quelle
Das Folgende sind Schritte,
Kopieren Sie alle Jars und Ihre .java-Datei in denselben Ordner (es ist einfach, Dateinamen zu erwähnen, anstatt einen langen Pfad zu erwähnen. Sie können jar und .java jedoch in separaten Ordnern aufbewahren).
Kompilieren,
Ausführen,
Ich hoffe das hilft!
quelle
Dadurch wird eine .class-Datei erstellt:
Dadurch wird die Klassendatei ausgeführt:
quelle
javac -classpath "/home/scorncer/Downloads/spark-core-2.3.jar" MyFile.java
und ** ausführenjava -cp /home/scorncer/Downloads/spark-core-2.3.jar: MyFile.java also i tried java -cp /home/scorncer/Downloads/spark-core-2.3.jar: MyFile
Versuche dies.
quelle
Sie müssen die Abhängigkeiten sowohl in der Kompilierungszeit als auch in der Laufzeit angeben
Verwenden Sie zum Kompilieren dieses Format
Beispiel:
quelle
Manchmal funktioniert es, wenn folgende Änderungen vorgenommen werden:
Hinweis: Unter Windows. Für Linux
$CLASSPATH
stattdessen verwenden.quelle
quelle
Wenn Sie Ubuntu verwenden:
Gehe zum Ordner (außerhalb der Paketstruktur)
Hinweis: Bitte beachten Sie die Dateispeicherorte und Paketnamen
quelle
Für Windows
quelle