Ich möchte mein Programm ohne Verwendung einer IDE ausführen. Ich habe eine JAR-Datei und eine ausführbare JAR-Datei erstellt. Wenn ich auf die exe-JAR-Datei doppelklicke, passiert nichts, und wenn ich versuche, den Befehl in cmd zu verwenden, erhalte ich Folgendes:
Error: Unable to access jarfile <path>
Ich benutze den Befehl: java -jar Calculator.jar
Wie ich das Glas erstellt habe:
- Rechtsklick auf Projektordner (Rechner)
- Wählen
- Klicken Sie auf Java Folder, wählen Sie "Exectuable Jar File" und dann "Next"
- Konfiguration starten: Hauptrechner
- Exportziel erstellen
- Klicken Sie auf "Fertig stellen" und profitieren Sie! Nicht wirklich.
java
jar
executable-jar
Joseph Smith
quelle
quelle
Antworten:
Ich war auf dieses Problem gestoßen, als ich meine Jar-Datei als ausgeführt hatte
java -jar TestJar
anstatt
java -jar TestJar.jar
Das Fehlen der Erweiterung .jar verursacht ebenfalls dieses Problem.
quelle
Fest
Ich habe es einfach in einen anderen Ordner gelegt und es hat funktioniert.
quelle
/cygdrive/c/
vsC:\
Ich habe dies durch die Verwendung von behoben.realpath --relative-to=$(pwd) path/to/jarfile
Es wird also immer eine relative Pfad- ISO erzwingen, indem/cygdrive/c/.../path/to/jarfile
java -jar $(cygpath -a -d `realpath --relative-to=$(pwd) $HOME/opt/javafile.jar`)
[Möglicherweise nur Windows]
Achten Sie auf Leerzeichen im Pfad, auch wenn sich Ihr Glas im aktuellen Arbeitsverzeichnis befindet. Zum Beispiel schlug dies für mich fehl:
Ich konnte dies beheben, indem ich den vollständigen, zitierten Pfad zum Glas angab:
Dank an diese Antwort, die mich auf den richtigen Weg gebracht hat ...
quelle
Ich hatte dieses Problem unter CygWin in Windows. Ich habe an anderer Stelle gelesen, dass Java die CygWin-Pfade (
/cygdrive/c/some/dir
anstelle vonC:\some\dir
) nicht versteht - daher habe ich stattdessen einen relativen Pfad verwendet :../../some/dir/sbt-launch.jar
.quelle
Ich hatte das gleiche Problem beim Versuch, die JAR-Datei zu starten. Der Pfad enthielt ein Leerzeichen, daher musste ich Anführungszeichen setzen. Anstatt:
ich musste schreiben
quelle
Ich bin gerade auf das gleiche Problem gestoßen, als ich versucht habe, einen schlechten USB-Stick herzustellen ...
Ich habe versucht, diesen Befehl in admin cmd auszuführen
Habe aber diesen Fehler bekommen:
Lösung
1. Schritt
Klicken Sie mit der rechten Maustaste auf das betreffende Jarfile. Klicken Sie auf Eigenschaften. Klicken Sie auf die Registerkarte zum Entsperren in der unteren rechten Ecke. Die Datei wurde blockiert, da sie heruntergeladen und nicht auf meinem PC erstellt wurde.
2. Schritt
Im cmd habe ich das Verzeichnis geändert, in dem sich die JAR-Datei befindet.
Dann tippte ich
dir
und sah, dass die Datei benannt wurdeduckencode.jar.jar
Also habe ich in cmd den ursprünglichen Befehl geändert, um auf die Datei zu verweisen
.jar.jar
Dieser Befehl wurde ohne Fehlermeldungen ausgeführt, und die von mir erstellte Datei injizieren.bin befand sich jetzt im Verzeichnis.
Hoffe das hilft.
quelle
Ich hatte ein ähnliches Problem und habe sogar versucht, mein CMD mit Administratorrechten auszuführen, aber es hat das Problem nicht gelöst.
Das Grundlegende ist, dass Sie sicherstellen, dass Sie das Verzeichnis in cmd in das aktuelle Verzeichnis ändern dem sich Ihre JAR-Datei befindet.
Führen Sie die folgenden Schritte aus:
1.Kopieren Sie die JAR-Datei auf den Desktop.
Führen Sie CMD aus
Typ Befehl
cd desktp
Geben Sie dann ein
java -jar filename.jar
Das sollte funktionieren.
Bearbeiten : Ab JDK-11 ( JEP 330 : Starten von Single-File-Quellcode-Programmen)
Seit Java 11 kann das Java-Befehlszeilentool einen Quellcode für eine einzelne Datei direkt ausführen. z.B
quelle
Das hat bei mir funktioniert.
quelle
Wenn Sie OSX verwenden, werden heruntergeladene Dateien mit einem Sicherheitsflag versehen, das die Ausführung nicht signierter Anwendungen verhindert.
Um dies zu überprüfen, können Sie erweiterte Attribute in der Datei anzeigen
Sie können dann die Attribute mit löschen
quelle
Dies kann auch passieren, wenn Sie Ihre Parameterliste nicht ordnungsgemäß angeben. Folgendes habe ich getan:
Anstelle der richtigen Version:
quelle
Manchmal passiert es, wenn Sie versuchen, eine .jar-Datei im Ordner / libs auszuführen (zu erstellen oder zu erstellen), indem Sie in Android Studio mit der rechten Maustaste darauf klicken. Sie können das Dropdown-Menü oben auf Android stuio auswählen und in App ändern . Das wird funktionieren
quelle
Für mich passiert es, wenn Sie native polnische Zeichen im Ordnernamen verwenden, der sich im PFAD befindet. Vielleicht war die Verwendung untypischer Zeichen der Grund für das Problem.
quelle
Mein spezielles Problem wurde verursacht, weil ich mit Verzeichnissen arbeitete, die symbolische Links (Verknüpfungen) enthielten. Folglich
java -jar ../../myJar.jar
funktionierte der Versuch nicht, weil ich nicht dort war, wo ich dachte, dass ich war.Das Ignorieren relativer Dateipfade hat das Problem behoben.
quelle
In meinem Fall befand sich der vorgeschlagene Dateiname
jarFile*.jar
in der Befehlszeile. Die Datei im Ordner warjarFile-1.2.3.jar
. Also habe ich die Datei umbenannt injarFile
. Dann habe ichjarFile.jar
stattjarFile*.jar
und dann wurde das Problem behobenquelle
Dies kann auf einem Windows-Computer passieren, wenn die Namen des Ordners Leerzeichen enthalten. Die Lösung wäre, den Pfad zwischen "" einzugeben. Beispielsweise:
quelle
Versuchen Sie, es als Administrator auszuführen, um Berechtigungsprobleme zu vermeiden. Das hat bei Win10 bei mir funktioniert.
quelle
Ich weiß, dass dieser Thread vor Jahren ist und das Problem wurde ebenfalls behoben. Ich hoffe jedoch, dass dies in Zukunft jemand anderem helfen würde, da ich bei der Installation von Oracle WebLogic 12c und Oracle OFR, in denen das Installationsprogramm im
.jar
Format vorliegt, auf ähnliche Probleme gestoßen bin . In meinem Fall wurde das JDK-Verzeichnis entweder nicht in Anführungszeichen gesetzt oder einfach nur getippt.Führen Sie
Command Prompt
als Administrator aus und führen Sie den Befehl in diesem Format aus. Überprüfen Sie den Satz, wenn ein Tippfehler vorliegt.Wenn etwas wie angezeigt wird
JRE 1.xxx is not a valid JDK Java Home
, stellen Sie sicher, dass die Systemvariablen fürJAVA_HOME
in Umgebungsvariablen auf das richtige JDK-Verzeichnis verweisen. JDK 1.8 oder höher wird empfohlen (2018).Ein nützlicher Thread hier, auf den Sie möglicherweise verweisen: Warum ist das Anzeigen Ihres JDK c: program files \ java \ jre7 beim Installieren des Weblogic-Servers kein gültiges JDK?
quelle
Ich hatte ein ähnliches Problem, bei dem TextMate oder etwas anderes die doppelten Anführungszeichen durch die doppelten Unicode-Anführungszeichen ersetzte.
Das Ändern meiner
SELENIUM_SERVER_JAR
von den Unicode-Anführungszeichen in reguläre Anführungszeichen und das löste mein Problem.quelle
Dies liegt daran, dass Sie nach der Datei im falschen Pfad suchen. 1. Suchen Sie nach dem Pfad des Ordners, in dem Sie die Datei abgelegt haben. 2. Ändern Sie die Verzeichnis-CD in cmd. Verwenden Sie den richtigen Pfad
quelle
Ich benutze NetBeans und hatte das gleiche Problem. Nachdem ich das Build and Clean-Projekt ausgeführt hatte, war mein Programm ausführbar. In der Java-Dokumentation heißt es, dass der Befehl build / clean dazu dient, das Projekt von Grund auf neu zu erstellen und frühere Kompilierungen zu entfernen. Ich hoffe das hilft. Außerdem würde ich die Dokumentation lesen. Oracle verfügt über NetBeans- und Java-Lernpfade. Sehr hilfreich. Viel Glück!
quelle
Möglicherweise haben Sie die falsche Version Ihres Glases angegeben.
quelle
Schließlich habe ich meine JAR-Datei in denselben Ordner wie mein JDK eingefügt, sodass ich die Pfade nicht einschließen musste. Ich musste auch die Eingabeaufforderung als Administrator öffnen.
java.exe -jar <jar file name>.jar
quelle
Bewahren Sie die Datei in demselben Verzeichnis auf, in dem Sie sie extrahieren. Das hat bei mir funktioniert.
quelle
Haben Sie versucht, es unter Administratorrechten auszuführen? Führen Sie den Befehl unter "Ausführen als" aus und wählen Sie dann den Administrator mit den richtigen Administratoranmeldeinformationen aus
arbeitete für mich
quelle
Ich habe das versucht:
Nachdem Sie die Datei gelesen, geschrieben und privilegiert haben:
chmod 777 java-repl.jar
alias jr="java -jar $HOME/Dev/java-repl/java-repl.jar"
Bla bla ... konnte nicht aufgerufen werden, dies war jedoch unter Mac OS möglich
Also habe ich das versucht:
alias jr="cd $HOME/Dev/java-repl/ && java -jar java-repl.jar"
quelle
Dies funktionierte nicht. "Zugriff auf Jarfile nicht möglich"
Das funktioniert
Der Unterschied besteht darin, dass das einzelne Leerzeichen vor OneWireViewer.jar nicht aushält, dass es von Anführungszeichen umgeben ist und sogar andere Leerzeichen enthält.
quelle
Für mich passiert es, weil ich es mit der Standard-Java-Version (7) und nicht mit der kompilierten Java-Version (8) ausführe, die zum Erstellen dieses JAR verwendet wird.
Also habe ich verwendet:
Anstelle der Java 7-Version:
quelle
Wenn Sie in der WSL sind und einem Leitfaden folgen, der Folgendes sagt:
Sie müssen tatsächlich den vollständigen Pfad angeben, obwohl Sie ihn im
java.library.path
Teil angegeben haben.quelle
Zuerst habe ich eine Variable erstellt
%JAVA_HOME% :
UNBLOCK TAB
Stellen Sie beim Herunterladen der Datei sicher, dass Sie die Dateieigenschaften wie oben im Beitrag "maartencls" gezeigt einchecken.hoffe das wird das Problem lösen :)
quelle
Erster Lauf:
java -version
und dann ausführen:
java -jar Calculator.jar
Das hat bei mir funktioniert.
quelle
java -version
hier benötigt wird? Laufenjava -jar Calculator.jar
ist auch das, was das OP getan hat und was nicht ...