Quelles sont les causes de l'erreur" Impossible d'accéder à jarfile"?


Je veux exécuter mon programme sans utiliser d'EDI. J'ai créé un fichier jar et un exécutable, fichier jar. Lorsque Je double-clique sur le fichier jar exe, rien ne se passe, et quand j'essaie d'utiliser la commande dans cmd, cela me donne ceci:

Error: Unable to access jarfile <path>

J'utilise la commande: java -jar Calculator.jar

Comment j'ai créé le pot:

  1. Clic droit sur le dossier du projet (Calculatrice)
  2. Sélectionnez
  3. Cliquez sur le dossier Java et sélectionnez "Fichier Jar exécutable", puis sélectionnez suivant
  4. Configuration De Lancement: Principaux - Calculatrice
  5. Créer une destination d'exportation
  6. appuyez sur "Terminer" et le profit! Eh bien, pas vraiment.
Author: Raedwald, 2012-08-14

30 answers

J'avais rencontré ce problème lorsque j'avais exécuté mon fichier Jar en tant que

java -jar TestJar

Au Lieu de

java -jar TestJar.jar

Manque l'extension .jar provoque également ce problème.

 85
Author: Vinay Kadalagi, 2019-04-22 08:58:16

Fixe

Je viens de le placer dans un dossier différent et cela a fonctionné.

 67
Author: Joseph Smith, 2017-10-13 07:41:24

[Éventuellement Windows uniquement]

Méfiez-vous des espaces dans le chemin, même lorsque votre jar est dans le répertoire de travail actuel. Par exemple, pour moi, cela échouait:

java -jar myjar.jar

J'ai pu résoudre ce problème en donnant le chemin complet et cité vers le pot:

java -jar "%~dp0\myjar.jar" 

Le crédit va à cette réponse pour m'avoir mis sur le bon chemin....

 36
Author: Robert Brown, 2017-05-23 12:34:41

J'ai eu ce problème sous CygWin dans Windows. J'ai lu ailleurs que Java ne comprend pas les chemins CygWin (/cygdrive/c/some/dir au lieu de C:\some\dir) - j'ai donc utilisé un chemin relatif à la place: ../../some/dir/sbt-launch.jar.

 20
Author: radumanolescu, 2016-08-04 17:18:56

J'ai eu le même problème en essayant de lancer le fichier jar. Le chemin contenait un espace, donc j'ai dû placer des citations autour. Au lieu de:

java -jar C:\Path to File\myJar.jar

J'ai dû écrire

java -jar "C:\Path to File\myJar.jar"
 14
Author: benez, 2020-03-14 19:32:29

Vient de rencontrer le même problème en essayant de faire une mauvaise USB...

J'ai essayé d'exécuter cette commande en admin cmd

java -jar c:\fw\ducky\duckencode.jar -I c:\fw\ducky\HelloWorld.txt  -o c:\fw\ducky\inject.bin

Mais a obtenu cette erreur:

Error: unable to access jarfile c:\fw\ducky\duckencode.jar

Solution

1ère étape -

Cliquez avec le bouton droit sur le fichier jarfile en question. Cliquez sur propriétés. Cliquez sur l'onglet Débloquer dans le coin inférieur droit. Le fichier a été bloqué, car il a été téléchargé et non créé sur mon PC.

2ème étape

Dans le cmd, j'ai changé le répertoire en où se trouve le fichier jar.

cd C:\fw\ducky\

, Puis j'ai tapé dir et vu que le fichier a été nommé duckencode.jar.jar

Donc, dans cmd, j'ai changé la commande d'origine pour référencer le fichier avec .jar.jar

java -jar c:\fw\ducky\duckencode.jar.jar -I c:\fw\ducky\HelloWorld.txt  -o c:\fw\ducky\inject.bin

Cette commande exécutée sans messages d'erreur et l'injection.bin j'essayais de créer était maintenant situé dans le répertoire.

J'espère que cela aide.

 11
Author: Leon thomas, 2015-10-23 21:03:42

J'ai eu un problème similaire et j'ai même essayé d'exécuter mon CMD avec des droits d'administrateur, mais cela n'a pas résolu le problème.

La chose de base est de s'assurer de changer le Répertoiredans cmd au répertoire courant où se trouve votre fichier jar.

Procédez comme suit:

  1. Copiez le fichier jar sur le bureau.

  2. Exécuter CMD

  3. Type de commande cd desktop

  4. , Puis tapez java -jar filename.jar

Ceci devrait fonctionner.


Edit : À partir de JDK-11 (JEP 330 : Lancer des Programmes de Code Source à Fichier unique)

Depuis Java 11, l'outil de ligne de commande java est capable d'exécuter directement un code source à fichier unique. par exemple

java filename.java
 8
Author: Vishwa Ratna, 2020-10-03 12:12:12

Si vous utilisez OSX, les fichiers téléchargés sont marqués avec un indicateur de sécurité qui empêche les applications non signées de s'exécuter.

Pour vérifier cela, vous pouvez afficher les attributs étendus sur le fichier

$ ls -l@
-rw-r--r--@ 1 dave  staff  17663235 13 Oct 11:08 server-0.28.2-java8.jar
com.apple.metadata:kMDItemWhereFroms         619
com.apple.quarantine          68

Vous pouvez ensuite effacer les attributs avec

xattr -c file.jar
 6
Author: nick fox, 2017-10-13 10:24:36

Cela a fonctionné pour moi.

cd /path/to/the/jar/

java -jar ./Calculator.jar
 5
Author: Bastian Cáceres Pino, 2016-11-15 18:18:30

Cela peut également se produire si vous ne fournissez pas correctement votre liste de paramètres. Voici ce que je faisais:

java -jar [email protected] testing_subject file.txt test_send_emails.jar

Au Lieu de la version correcte:

java -jar test_send_emails.jar [email protected] testing_subject file.txt
 3
Author: Buffalo, 2015-07-15 08:06:37

Parfois, cela se produit lorsque vous essayez de (exécuter ou créer) un .fichier jar sous le dossier / libs par clic droit dans Android studio. vous pouvez sélectionner le menu déroulant en haut de android stuio et le changer en app. Cela fonctionnera

entrez la description de l'image ici

 3
Author: anand krish, 2016-02-17 10:44:46

Pour moi, cela arrive si vous utilisez des caractères polonais natifs dans foldername qui se trouve dans le CHEMIN. Alors peut-être que l'utilisation de caractères atypiques était la raison du problème.

 2
Author: Huxwell, 2015-10-08 09:52:17

Mon problème particulier a été causé parce que je travaillais avec des répertoires qui impliquaient des liens symboliques (raccourcis). Par conséquent, essayer java -jar ../../myJar.jar n'a pas fonctionné parce que je n'étais pas là où je pensais être.

Sans tenir compte des chemins de fichiers relatifs, cela a été corrigé.

 2
Author: MattSayar, 2015-11-18 23:31:55

Dans mon cas, le nom de fichier suggéré à utiliser était jarFile*.jar dans la ligne de commande. Le fichier dans le dossier était jarFile-1.2.3.jar. J'ai donc renommé le fichier en jarFile. Ensuite, j'ai utilisé jarFile.jar au lieu de jarFile*.jar et le problème a été résolu

 2
Author: suku, 2017-01-22 06:41:19

Cela peut se produire sur une machine Windows lorsque vous avez des espaces dans les noms du dossier. La solution serait d'entrer dans le chemin entre"". Par exemple:

java -jar c:\my folder\x.jar    --> 
java -jar "c:\my folder\x.jar"
 2
Author: assaf, 2017-10-31 10:24:25

Pour éviter tout problème d'autorisation, essayez de l'exécuter en tant qu'administrateur. Cela a fonctionné pour moi sur Win10.

 2
Author: Gico, 2018-03-14 15:14:35

Je sais que ce fil date d'il y a des années et que le problème a également été résolu. Mais j'espère que cela aiderait quelqu'un d'autre à l'avenir car j'ai rencontré des problèmes similaires pendant que j'essayais d'installer Oracle WebLogic 12c et Oracle OFR dans lequel son installateur est au format .jar. Pour le mien, il n'a pas encapsulé le répertoire JDK entre guillemets ou simplement une faute de frappe.

Exécuter Command Prompt en tant qu'administrateur et exécutez la commande dans ce format. Vérifiez la phrase s'il y a une faute de frappe.

"C:\Program Files\Java\jdk1.xxxxx\bin\java" -jar C:\Users\xxx\Downloads\xxx.jar

S'il montre quelque chose comme JRE 1.xxx is not a valid JDK Java Home, assurez-vous que les variables système pour JAVA_HOME dans les variables d'environnement pointent vers le répertoire JDK correct. JDK 1.8 ou supérieur est recommandé (2018).

Un thread utile ici, vous pouvez le référer: Pourquoi il montre votre JDK c:program files\java\jre7 n'est pas un JDK valide lors de l'installation de weblogic server?

 2
Author: not_Prince, 2018-10-23 07:28:26

J'ai eu un problème similaire où TextMate ou quelque chose a remplacé les guillemets doubles par les guillemets doubles unicode.

Changer mon SELENIUM_SERVER_JAR des guillemets doubles unicode aux guillemets doubles réguliers et cela a résolu mon problème.

 1
Author: TankorSmash, 2016-03-30 18:05:20

C'est parce que vous recherchez le fichier dans le mauvais chemin 1. recherchez le chemin du dossier dans lequel vous avez placé le fichier 2. changer le répertoire cd dans cmd utiliser le bon chemin

 1
Author: felipe, 2016-06-19 21:39:10

J'utilise NetBeans et j'ai eu le même problème. Après avoir exécuté build et clean project, mon programme était exécutable. La documentation Java indique que la commande build/clean sert essentiellement à reconstruire le projet à partir de zéro et à supprimer toutes les compilations passées. J'espère que cette aide. Aussi, j'avais lu la documentation. Oracle a NetBeans et Java learning trails. Très utile. Bonne chance!

 1
Author: user8315373, 2017-07-16 13:43:45

Peut-être avez-vous spécifié la mauvaise version de votre jar.

 1
Author: cosbor11, 2017-09-21 21:52:43

J'ai finalement collé mon fichier jar dans le même dossier que mon JDK, donc je n'ai pas eu à inclure les chemins. J'ai également dû ouvrir l'invite de commande en tant qu'administrateur.

  1. Faites un clic droit sur l'invite de commande et"Exécuter en tant qu'administrateur"
  2. Accédez au répertoire dans lequel vous avez enregistré votre jdk
  3. Dans l'invite de commande tapez: java.exe -jar <jar file name>.jar
 1
Author: Michaela Burns, 2020-01-14 15:04:46

Conserver le fichier dans le même répertoire où vous l'extraire. Ce qui a fonctionné pour moi.

 1
Author: Aishwary joshi, 2020-01-22 02:18:35

Pour moi, cela se produit parce que je l'exécute avec la version java par défaut (7) et non avec la version java compilée (8) utilisée pour créer ce pot.

J'ai Donc utilisé:

%Java8_64%\bin\java -jar myjar.jar

Au lieu de java 7 version:

java -jar myjar.jar
 1
Author: Adir D, 2020-02-09 19:19:14

Avez-vous essayé de l'exécuter sous privoleges administrateur? ce qui signifie, exécuter la commande dans "Exécuter en tant que", puis sélectionner administrateur avec les informations d'identification admin appropriées

A travaillé pour moi

 0
Author: Nick_Stubborn_Mex., 2019-05-14 20:28:37

J'essayais ceci:

Après avoir donné au fichier des privilèges de lecture, d'écriture, d'exécution:

chmod 777 java-repl.jar

alias jr="java -jar $HOME/Dev/java-repl/java-repl.jar"

Impossible d'accéder à bla bla..., c'était sur Mac OS cependant

J'ai Donc essayé ceci:

alias jr="cd $HOME/Dev/java-repl/ && java -jar java-repl.jar"

 0
Author: Kinglee, 2019-07-23 09:37:35

Cela n'a pas fonctionné "Impossible d'accéder à jarfile"

"C:\Program Files\java\jdk-13+33-jre\bin\javaw.exe" -jar "C:\Program Files\Maxim Integrated Products\1-Wire Drivers x64\ OneWireViewer.jar"

Cela fonctionne

"C:\Program Files\java\jdk-13+33-jre\bin\javaw.exe" -jar "C:\Program Files\Maxim Integrated Products\1-Wire Drivers x64\OneWireViewer.jar"

La différence est l'espace unique devant OneWireViewer.jar ne supporte pas qu'il soit entouré de guillemets et a même d'autres espaces.

 0
Author: angar, 2019-10-13 15:21:49

Si vous êtes sur WSL, et que vous suivez un guide qui dit, dit ceci:

java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

Vous devez en fait spécifier le chemin complet, même si vous l'avez fourni dans la partie java.library.path.

java -Djava.library.path=/mnt/c/dynamodb_local/DynamoDBLocal_lib -jar /mnt/c/dynamodb_local/DynamoDBLocal.jar -sharedDb
 0
Author: Pureferret, 2020-04-21 14:10:23

C'est un problème d'autorisation, voyez si le répertoire est sous votre utilisateur. C'est pourquoi travaille dans un autre dossier!

 0
Author: Dimitrios, 2020-07-31 13:05:49

Renommez le fichier jar et essayez

Explication : oui, je sais qu'il y a encore beaucoup de réponses, je veux ajouter un point ici auquel j'ai fait face.

J'ai construit le pot et je l'ai déplacé dans le serveur où je déployer (C'est le processus normal) ici, le nom du fichier que j'ai déplacé existait déjà dans le serveur, ici le fichier remplacera évidemment correctement. Dans ce cas, j'ai fait face à ce problème. peut-être qu'au moment de la substitution, il peut y avoir un problème de copie d'autorisation.

J'espère que cela aidera quelqu'un.

 0
Author: Sainath Pabba, 2020-08-03 14:12:17