Chcę uruchomić mój program bez używania IDE. Utworzyłem plik jar i wykonywalny plik jar. Kiedy dwukrotnie klikam plik jar exe, nic się nie dzieje, a kiedy próbuję użyć polecenia w cmd, daje mi to:
Error: Unable to access jarfile <path>
Używam polecenia: java -jar Calculator.jar
Jak stworzyłem słoik:
- Kliknij prawym przyciskiem myszy folder projektu (Kalkulator)
- Wybierz
- Kliknij folder Java i wybierz „Plik wykonywalny Jar”, a następnie wybierz następny
- Uruchom konfigurację: Główna - Kalkulator
- Utwórz miejsce docelowe eksportu
- Kliknij „Zakończ” i zyskaj! No nie bardzo.
java
jar
executable-jar
Józef Smith
źródło
źródło
Odpowiedzi:
Napotkałem ten problem, gdy uruchomiłem plik Jar jako
java -jar TestJar
zamiast
java -jar TestJar.jar
Brak rozszerzenia .jar również powoduje ten problem.
źródło
Naprawiony
Po prostu umieściłem go w innym folderze i zadziałało.
źródło
/cygdrive/c/
vsC:\
Naprawiłem to za pomocąrealpath --relative-to=$(pwd) path/to/jarfile
Więc zawsze wymusi względną ścieżkę ISO używając/cygdrive/c/.../path/to/jarfile
java -jar $(cygpath -a -d `realpath --relative-to=$(pwd) $HOME/opt/javafile.jar`)
[Prawdopodobnie tylko Windows]
Uważaj na spacje w ścieżce, nawet jeśli plik jar znajduje się w bieżącym katalogu roboczym. Na przykład dla mnie to się nie udało:
Udało mi się to naprawić, podając pełną, zacytowaną ścieżkę do słoika:
Zasługa tej odpowiedzi do ustawiania mnie na właściwą drogę ....
źródło
Miałem ten problem pod CygWin w Windows. Czytałem gdzie indziej, że Java nie rozumie ścieżki Cygwin (
/cygdrive/c/some/dir
zamiastC:\some\dir
) - więc użyłem ścieżki względnej zamiast:../../some/dir/sbt-launch.jar
.źródło
Miałem ten sam problem podczas próby uruchomienia pliku jar. Ścieżka zawierała spację, więc musiałem umieścić wokół niej cudzysłowy. Zamiast:
musiałem napisać
źródło
Właśnie natknąłem się na ten sam problem, próbując zrobić zły USB ...
Próbowałem uruchomić to polecenie w admin cmd
Ale otrzymałem ten błąd:
Rozwiązanie
1 krok
Kliknij prawym przyciskiem myszy, którego dotyczy problem. Kliknij właściwości. Kliknij kartę odblokowania w prawym dolnym rogu. Plik został zablokowany, ponieważ został pobrany i nie został utworzony na moim komputerze.
2. krok
W cmd zmieniłem katalog na miejsce, w którym znajduje się plik jar.
Potem wpisałem
dir
i zobaczyłem, że plik został nazwanyduckencode.jar.jar
Więc w cmd zmieniłem oryginalne polecenie, aby odwoływało się do pliku
.jar.jar
To polecenie wykonane bez komunikatów o błędach, a plik inject.bin, który próbowałem utworzyć, znajdował się teraz w katalogu.
Mam nadzieję że to pomoże.
źródło
Miałem podobny problem i nawet próbowałem uruchomić CMD z uprawnieniami administratora, ale to nie rozwiązało problemu.
Podstawową rzeczą jest to, aby zmienić katalog w cmd na bieżący katalog, w którym znajduje się plik jar.
Wykonaj następujące kroki:
1. skopiuj plik jar na pulpit.
Uruchom CMD
wpisz polecenie
cd desktp
następnie wpisz
java -jar filename.jar
To powinno działać.
Edycja : począwszy od JDK-11 ( JEP 330 : uruchamianie programów z pojedynczym plikiem źródłowym)
Od wersji Java 11, narzędzie wiersza poleceń java było w stanie bezpośrednio uruchamiać kod źródłowy pojedynczego pliku. na przykład
źródło
To zadziałało dla mnie.
źródło
Jeśli używasz OSX, pobrane pliki są oznaczane flagą bezpieczeństwa, która uniemożliwia uruchomienie niepodpisanych aplikacji.
aby to sprawdzić, możesz wyświetlić rozszerzone atrybuty pliku
Następnie możesz wyczyścić atrybuty za pomocą
źródło
Może się to również zdarzyć, jeśli nie podasz prawidłowo listy parametrów. Oto, co robiłem:
Zamiast poprawnej wersji:
źródło
czasami zdarza się, gdy próbujesz (uruchomić lub utworzyć) plik .jar w folderze / libs, klikając go prawym przyciskiem myszy w Android Studio. możesz wybrać menu rozwijane u góry stuio Androida i zmienić je na aplikację . To zadziała
źródło
U mnie dzieje się tak, jeśli używasz rodzimych polskich znaków w nazwie folderu, czyli w PATH. Może więc przyczyną problemu było używanie nietypowych znaków.
źródło
Mój szczególny problem był spowodowany tym, że pracowałem z katalogami zawierającymi dowiązania symboliczne (skróty). W rezultacie próbowanie
java -jar ../../myJar.jar
nie działało, ponieważ nie byłem tam, gdzie myślałem, że jestem.Zignorowanie względnych ścieżek plików naprawiło to od razu.
źródło
W moim przypadku sugerowana nazwa pliku do użycia była
jarFile*.jar
w linii poleceń. Plik w folderze tojarFile-1.2.3.jar
. Więc zmieniłem nazwę pliku najarFile
. Następnie użyłemjarFile.jar
zamiastjarFile*.jar
i wtedy problem został rozwiązanyźródło
Może się to zdarzyć na komputerze z systemem Windows, gdy w nazwach folderów są spacje. Rozwiązaniem byłoby wprowadzenie ścieżki pomiędzy „”. Na przykład:
źródło
Aby uniknąć problemów z uprawnieniami, spróbuj uruchomić go jako administrator. To działało dla mnie na Win10.
źródło
Wiem, że ten wątek powstał lata temu i problem też został naprawiony. Mam jednak nadzieję, że w przyszłości pomoże to komuś innemu, ponieważ napotkałem podobne problemy, gdy próbowałem zainstalować Oracle WebLogic 12c i Oracle OFR, w których ich instalator jest w
.jar
formacie. W moim przypadku albo nie zawinięto katalogu JDK w cudzysłowy, albo po prostu literówka.Uruchom
Command Prompt
jako administrator i wykonaj polecenie w tym formacie. Sprawdź dokładnie zdanie, jeśli jest literówka.Jeśli pokazuje coś podobnego
JRE 1.xxx is not a valid JDK Java Home
, upewnij się, że zmienne systemowe dla zmiennychJAVA_HOME
środowiskowych wskazują właściwy katalog JDK. Zalecany jest JDK 1.8 lub nowszy (2018).Przydatny wątek tutaj, możesz go polecić : Dlaczego pokazuje twój JDK c: program files \ java \ jre7 nie jest prawidłowym JDK podczas instalacji serwera weblogic?
źródło
Miałem podobny problem, w którym TextMate lub coś zastępowało podwójne cudzysłowy podwójnymi cudzysłowami Unicode.
Zmiana
SELENIUM_SERVER_JAR
z podwójnych cudzysłowów Unicode na zwykłe podwójne cudzysłowy rozwiązała mój problem.źródło
dzieje się tak, ponieważ szukasz pliku w złej ścieżce 1. poszukaj ścieżki do folderu, w którym umieściłeś plik 2. zmień katalog cd w cmd użyj prawidłowej ścieżki
źródło
Używam NetBeans i miałem ten sam problem. Po uruchomieniu kompilacji i czyszczenia projektu mój program był wykonywalny. Dokumentacja Javy mówi, że polecenie build / clean służy do przebudowy projektu od podstaw i usunięcia wcześniejszych kompilacji. Mam nadzieję, że to pomoże. Przeczytałem też dokumentację. Oracle oferuje ścieżki nauczania NetBeans i Java. Bardzo pomocne. Powodzenia!
źródło
Może podałeś złą wersję swojego słoika.
źródło
W końcu wkleiłem plik jar do tego samego folderu, co mój JDK, więc nie musiałem dołączać ścieżek. Jako administrator musiałem też otworzyć wiersz polecenia.
java.exe -jar <jar file name>.jar
źródło
Zachowaj plik w tym samym katalogu, w którym go rozpakowujesz. To zadziałało dla mnie.
źródło
Czy próbowałeś uruchomić go jako administrator privoleges? co oznacza uruchomienie polecenia w „Uruchom jako”, a następnie wybranie administratora z odpowiednimi poświadczeniami administratora
pracował dla mnie
źródło
Próbowałem tego:
Po nadaniu plikowi uprawnień do odczytu, zapisu, wykonywania:
chmod 777 java-repl.jar
alias jr="java -jar $HOME/Dev/java-repl/java-repl.jar"
Nie można uzyskać dostępu do bla bla ..., to było jednak w systemie Mac OS
Więc spróbowałem tego:
alias jr="cd $HOME/Dev/java-repl/ && java -jar java-repl.jar"
źródło
To nie zadziałało „Unable to access jarfile”
To działa
Różnica polega na tym, że pojedyncza spacja przed OneWireViewer.jar nie wytrzymuje tego, że jest otoczona cudzysłowami, a nawet zawiera inne spacje.
źródło
U mnie dzieje się tak, ponieważ uruchamiam go z domyślną wersją java (7), a nie ze skompilowaną wersją java (8) użytą do stworzenia tego jar.
Więc użyłem:
Zamiast wersji java 7:
źródło
Jeśli jesteś na WSL i postępujesz zgodnie z przewodnikiem, który mówi, to:
W rzeczywistości musisz określić pełną ścieżkę, nawet jeśli podałeś ją w
java.library.path
części.źródło
najpierw utworzyłem zmienną
%JAVA_HOME% :
Po pobraniu pliku pamiętaj o
UNBLOCK TAB
wpisaniu właściwości pliku, jak pokazano powyżej w poście „maartencls”.mam nadzieję, że to rozwiąże problem :)
źródło
Pierwszy bieg:
java -version
a następnie uruchom:
java -jar Calculator.jar
To zadziałało dla mnie.
źródło
java -version
jest tu potrzebny? Ponadto, bieganiejava -jar Calculator.jar
jest tym, co zrobił i nie działał OP ...