web-dev-qa-db-fra.com

Qu'est-ce qui provoque l'erreur "Impossible d'accéder à jarfile"?

Je veux exécuter mon programme sans utiliser un IDE. J'ai créé un fichier jar et un fichier jar exécutable. Lorsque je double-clique sur le fichier exe jar, rien ne se passe et lorsque j'essaie d'utiliser la commande dans cmd, il 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électionner
  3. Cliquez sur Java Dossier et sélectionnez "Fichier Jar exectuable", puis sélectionnez Suivant.
  4. Lancer la configuration: Principal - Calculatrice
  5. Créer une destination d'exportation
  6. Hit "Terminer" et le profit! Eh bien pas vraiment.
105
Joseph Smith

Fixe

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

48
Joseph Smith

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

L'extension manquante . Jar est également la cause de ce problème.

62
Vinay Kadalagi

[Éventuellement Windows uniquement]

Méfiez-vous des espaces dans le chemin, même lorsque votre fichier JAR se trouve dans le répertoire de travail actuel. Par exemple, cela a échoué pour moi:

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 la bonne voie ....

26
Robert Brown

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: ../../some/dir/sbt-launch.jar.

14
radumanolescu

Je viens de rencontrer le même problème en essayant de faire un mauvais USB ...

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

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

Mais j'ai cette erreur:

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

Solution

1ère étape

Cliquez avec le bouton droit sur le fichier jar en question. Cliquez sur les propriétés. Cliquez sur l'onglet de déblocage 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 la cmd, j'ai changé le répertoire dans lequel se trouve le fichier jar.

cd C:\fw\ducky\

Puis j'ai tapé dir et j'ai vu que le fichier s'appelait 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 s’exécutait sans message d’erreur et le fichier inject.bin que j’essayais de créer se trouvait maintenant dans le répertoire.

J'espère que cela t'aides.

10
Leon thomas

j'ai eu le même problème en essayant de lancer le fichier jar. le chemin contenait un espace, donc je devais placer des citations autour. au lieu de:

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

je devais écrire

Java -jar "C:\Path to File\myJar.jar"
8
benez

Cela a fonctionné pour moi Java -jar "filename.jar"

5
controller SCV

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.

Le principe de base est de s’assurer de changer le Répertoire dans cmd en répertoire actuel où se trouve votre fichier jar.

Suivez les étapes suivantes:

1. Copiez le fichier jar sur le bureau.

  1. Exécuter CMD

  2. tapez la commande cd desktp

  3. puis tapez Java -jar filename.jar

Cela devrait marcher.

4
Vishwa Ratna

Cela a fonctionné pour moi.

cd /path/to/the/jar/

Java -jar ./Calculator.jar
4

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

pour vérifier cela, vous pouvez voir 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
3
nick fox

Cela peut également arriver 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
Buffalo

cela arrive parfois lorsque vous essayez (d’exécuter ou de créer) un fichier .jar dans le dossier/libs en cliquant dessus avec le bouton droit de la souris dans Android studio. vous pouvez sélectionner le menu déroulant en haut de Android stuio et le modifier en app . Ça va marcher

enter image description here

3
anand krish

Je sais que ce fil est il y a des années et le problème a été corrigé aussi. Mais j'espère que cela aidera quelqu'un d'autre à l'avenir car j'ai rencontré des problèmes similaires alors que j'essayais d'installer Oracle WebLogic 12c et Oracle OFR dans lequel son programme d'installation est au format .jar. Dans le cas de la mienne, il s’agissait soit de ne pas mettre le répertoire JDK entre guillemets, soit simplement d’écrire.

Exécutez 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 affiche 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 bon répertoire JDK. JDK 1.8 ou supérieur est recommandé (2018).

Un fil utile ici, vous pouvez vous y référer: Pourquoi montrer votre JDK c: programme files\Java\jre7 n’est pas un JDK valide lors de l’installation du serveur weblogic?

2
Boosted Nub

Mon problème particulier était dû au fait que je travaillais avec des répertoires comportant des liens symboliques (raccourcis). En conséquence, essayer Java -jar ../../myJar.jar n'a pas fonctionné car je n'étais pas là où je pensais être.

Ne pas tenir compte des chemins de fichiers relatifs a corrigé le problème.

2
MattSayar

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

Java -jar c:\my folder\x.jar    --> 
Java -jar "c:\my folder\x.jar"
2
assaf

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

2
Huxwell

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

2
Gico

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, puis le problème a été résolu.

2
suku

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

1
cosbor11

c'est parce que vous recherchez le fichier dans le mauvais chemin 1. cherchez le chemin du dossier dans lequel vous avez placé le fichier 2. changez le répertoire cd dans cmd utilisez le bon chemin

1
felipe

J'utilise NetBeans et j'ai eu le même problème. Après avoir exécuté les projets de construction et de nettoyage, mon programme était exécutable. La documentation Java indique que la commande build/clean sert à reconstruire le projet à partir de zéro et à supprimer les compilations antérieures. J'espère que ça aide. Aussi, je lirais la documentation. Oracle dispose de NetBeans et de Java pistes d'apprentissage. Très utile. Bonne chance!

1
user8315373

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

Changer mon Selenium_SERVER_JAR des guillemets unicode en guillemets normaux, ce qui a résolu mon problème.

1
TankorSmash

J'essayais ceci:

Après avoir donné le fichier en lecture, en écriture, exécutez les privilèges:

chmod 777 Java-repl.jar

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

Impossible d'accéder à bla bla ..., c'était sous Mac OS bien

Alors j'ai essayé ceci:

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

0
Kinglee

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

a travaillé pour moi

0