Che cosa causa l’errore “Imansible accedere al file jar”?

Voglio eseguire il mio programma senza usare un IDE. Ho creato un file jar e un file jar esettimabile. Quando faccio doppio clic sul file jar exe, non succede nulla e quando provo a usare il comando in cmd mi dà questo:

Error: Unable to access jarfile  

Io uso il comando: java -jar Calculator.jar

Come ho creato il barattolo:

  1. Fare clic destro sulla cartella del progetto (Calcolatrice)
  2. Selezionare
  3. Fare clic su Cartella Java e selezionare “File Jar Exectuable”, quindi selezionare Avanti
  4. Avvia configurazione: Principale – Calcolatrice
  5. Crea destinazione di esportazione
  6. Premi “Finisci” e guadagna! Beh, non proprio.

Ho riscontrato questo problema quando ho eseguito il mio file Jar come

java -jar TestJar

invece di

java -jar TestJar.jar

Fisso

L’ho appena inserito in una cartella diversa e ha funzionato.

[Eventualmente solo Windows]

Fai attenzione agli spazi nel percorso, anche quando il tuo jar si trova nella directory di lavoro corrente. Ad esempio, per me questo stava fallendo:

 java -jar myjar.jar 

Sono stato in grado di risolvere questo problema dando il percorso completo e quotato al jar:

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

Il merito va a questa risposta per avermi messo sulla strada giusta ….

Ho avuto questo problema sotto CygWin in Windows. Ho letto altrove che Java non capisce i percorsi di CygWin ( /cygdrive/c/some/dir invece di C:\some\dir ) – quindi ho usato un percorso relativo invece: ../../some/dir/sbt-launch.jar .

Ho avuto lo stesso problema quando ho provato ad avviare il file jar. il percorso conteneva uno spazio, quindi ho dovuto mettere le virgolette in giro. invece di:

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

dovevo scrivere

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

Ho appena incontrato lo stesso problema nel tentativo di creare un USB errato …

Ho provato a eseguire questo comando in admin cmd

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

Ma ho ottenuto questo errore:

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

Soluzione

1 ° passo

Fai clic con il pulsante destro del mouse sul file jar in questione. Clicca proprietà. Fare clic sulla scheda sblocco nell’angolo in basso a destra. Il file è stato bloccato perché è stato scaricato e non è stato creato sul mio PC.

2 ° passo

Nel cmd ho cambiato la directory in cui si trova il file jar.

 cd C:\fw\ducky\ 

Poi ho digitato dir e ho visto il file è stato chiamato duckencode.jar.jar

Quindi in cmd ho cambiato il comando originale per fare riferimento al file con .jar.jar

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

Quel comando eseguito senza messaggi di errore e il file inject.bin che stavo cercando di creare ora si trovava nella directory.

Spero che questo ti aiuti.

Questo ha funzionato per me.

 cd /path/to/the/jar/ java -jar ./Calculator.jar 

Questo ha funzionato per me java -jar "filename.jar"

Se si utilizza OSX, i file scaricati vengono contrassegnati con un indicatore di sicurezza che impedisce l’esecuzione di applicazioni non firmate.

per verificare ciò è ansible visualizzare gli attributi estesi sul file

 $ ls [email protected] [email protected] 1 dave staff 17663235 13 Oct 11:08 server-0.28.2-java8.jar com.apple.metadata:kMDItemWhereFroms 619 com.apple.quarantine 68 

È quindi ansible cancellare gli attributi con

 xattr -c file.jar 

Può anche accadere se non si fornisce correttamente l’elenco di parametri. Ecco cosa stavo facendo:

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

Invece della versione corretta:

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

a volte capita quando si tenta di eseguire (eseguire o creare) un file .jar nella cartella / libs facendo clic destro su Android Studio. puoi selezionare il menu a discesa in cima a Android Stuio e cambiarlo in app . Questo funzionerà

inserisci la descrizione dell'immagine qui

Per me succede se usi caratteri polacchi nativi in ​​foldername che si trova nel PERCORSO. Quindi forse l’uso di caratteri atipici era la ragione del problema.

Nel mio caso il nome del file suggerito da utilizzare era jarFile*.jar nella riga di comando. Il file nella cartella era jarFile-1.2.3.jar . Così ho rinominato il file in jarFile . Quindi ho usato jarFile.jar invece di jarFile*.jar e quindi il problema è stato risolto

Per evitare problemi di authorization, prova ad eseguirlo come amministratore. Questo ha funzionato per me su Win10.

Il mio particolare problema è stato causato dal fatto che stavo lavorando con le directory che includevano collegamenti simbolici (scorciatoie). Di conseguenza, provare java -jar ../../myJar.jar non ha funzionato perché non ero dove pensavo di essere.

Ignorare i percorsi dei file relativi l’ha corretto.

Ho avuto un problema simile in cui TextMate o qualcosa ha sostituito le virgolette doppie con le doppie virgolette unicode.

Cambiando il mio SELENIUM_SERVER_JAR dalle virgolette unicode alle virgolette doppie regolari e questo ha risolto il mio problema.

questo perché stai cercando il file nel percorso sbagliato 1. cerca il percorso della cartella in cui hai posizionato il file 2. cambia la directory cd in cmd usa il percorso giusto

Io uso NetBeans e ho avuto lo stesso problema. Dopo aver eseguito il progetto di compilazione e pulizia, il mio programma era eseguibile. La documentazione di Java dice che il comando build / clean serve per ribuild il progetto da zero e rimuovere eventuali compilazioni precedenti. Spero che aiuti. Inoltre, avrei letto la documentazione. Oracle ha NetBeans e percorsi di apprendimento Java. Molto utile. In bocca al lupo!

Forse hai specificato la versione sbagliata del tuo barattolo.

Può accadere su una macchina Windows quando ci sono spazi nei nomi della cartella. La soluzione sarebbe quella di inserire il percorso tra “”. Per esempio:

 java -jar c:\my folder\x.jar --> java -jar "c:\my folder\x.jar" 

Nel mio problema per accedere alla directory dalla riga di comando (in Windows) questo errore

“Imansible accedere a …”

perché errata estensione del file

file.jar.jar

! , quindi cambialo per correggerne uno

file.jar

🙂 in bocca al lupo