unable to access jarfile что делать linux
error unable to access jarfile что делать
Я новичок, когда дело доходит до использования Java в Linux. Я клонировал репозиторий, в котором я заинтересован, и я не могу запустить код с моей машины. Команда, которую я пытаюсь сделать:
Ошибка, которую я получаю:
Сначала я подумал, что это была правка, поэтому я попытался запустить команду с sudo (получил ту же ошибку), я также видел один пример с файловым путем в кавычках, поэтому я пробовал это, но у меня также была такая же ошибка.
Я просмотрел файлы проекта, и на самом деле это не файл с именем example.jar. Есть ли команда, которую я должен запустить сначала, чтобы ее создать?
Заранее благодарим за помощь!
1 ответ
Да, чтобы запустить банку, она должна существовать.
При его создании вам необходимо сопоставить структуру каталогов с структурой пакета.
Например, ваши каталоги могут быть:
для источников и для файлов классов:
соответствует структуре пакета:
, тогда вы должны перейти в базовый каталог иерархии:
Вы создаете файл jar, например:
Обратите внимание, что есть файл манифеста, автоматически сгенерированный и полезный, в качестве шаблона, где вы можете добавить информацию о том, что ваш основной класс, если у вас есть такой, но который довольно строгий в отношении синтаксиса (верхний / нижний регистр, разрывы строк).
Такая запись основного класса должна быть добавлена, если вы хотите запустить ее без указания основного класса:
, иначе вы должны использовать:
В сущности, файл jar представляет собой zip-архив и может работать с этими инструментами.
Чистое разделение src / и bin / files полезно, когда у вас более нескольких классов и, возможно, глубокая структура пакетов.
Error: Unable to access jarfile server.jar
Эта ошибка означает что сервер не может получить доступ к исполняемому jar файлу. Вам необходимо переименовать ваш исполняемый jar файл в server.jar (важно: необходимо соблюсти регистр всех букв — должны быть строчными).
Если у вас его вовсе нет файла server.jar следуйте инструкции: https://craftbuy.ru/index.php?rp=/knowledgebase/6/—.html
Error: Invalid or corrupt jarfile server.jar
Error: An unexpected error occurred while trying to open file server.jar
Эти ошибки означают что ваш исполняемый jar файл повреждён, либо что-то другое случилось с файлом. В этом случае загрузите его заново, либо скачайте другой. Некоторые проверенные есть у нас на сайте: https://craftbuy.ru/index.php?rp=/knowledgebase/6/—.html
- 894 Пользователи нашли это полезным
Связанные статьи
Если у вас не получается войти в игру и вы видите ошибку указанную в заголовке (или другую.
Следующие рекомендации помогут вам решить проблемы с подключением к серверу:1) Проверьте точность.
I want to execute my program without using an IDE. I’ve created a jar file and an exectuable jar file. When I double click the exe jar file, nothing happens, and when I try to use the command in cmd it gives me this:
How I created the jar:
27 Answers 27
I had encountered this issue when I had run my Jar file as
Missing the extension .jar also causes this issue.
Fixed
I just placed it in a different folder and it worked.
[Possibly Windows only]
Beware of spaces in the path, even when your jar is in the current working directory. For example, for me this was failing:
I was able to fix this by givng the full, quoted path to the jar:
Credit goes to this answer for setting me on the right path.
Just came across the same problem trying to make a bad USB.
I tried to run this command in admin cmd
But got this error:
Solution
1st step
Right click the jarfile in question. Click properties. Click the unblock tab in bottom right corner. The file was blocked, because it was downloaded and not created on my PC.
2nd step
In the cmd I changed the directory to where the jar file is located.
Then I typed dir and saw the file was named duckencode.jar.jar
That command executed without error messages and the inject.bin I was trying to create was now located in the directory.
i had the same issue when trying to launch the jar file. the path contained a space, so i had to place quotes around. instead of:
This worked for me.
I had similar problem and i even tried running my CMD with administrator rights, but it did not solved the problem.
The basic thing is that make sure to change the Directory in cmd to current directory where your jar file is.
Do following steps:
1.Copy jar file to Desktop.
type command cd desktp
It can also happen if you don’t properly supply your list of parameters. Here’s what I was doing:
Instead of the correct version:
If you are using OSX, downloaded files are tagged with a security flag that prevents unsigned applications from running.
to check this you can view extended attributes on the file
You can then clear the attributes with
For me it happens if you use native Polish chars in foldername that is in the PATH. So maybe using untypical chars was the reason of the problem.
Disregarding relative file paths fixed it right up.
It can happen on a windows machine when you have spaces in the names of the folder. The solution would be to enter the path between » «. For example:
To avoid any permission issues, try to run it as administrator. This worked for me on Win10.
Run Command Prompt as administrator and execute the command in this format. Double check the sentence if there is typo.
Что вызывает ошибку «Невозможно получить доступ к jarfile»?
Я хочу выполнить свою программу без использования IDE. Я создал JAR-файл и исполняемый JAR-файл. Когда я дважды щелкаю по файлу exe jar, ничего не происходит, и когда я пытаюсь использовать команду в cmd, это дает мне следующее:
Как я создал банку:
Я столкнулся с этой проблемой, когда я запустил файл Jar как
Отсутствие расширения .jar также вызывает эту проблему.
Исправлена
Я просто поместил его в другую папку, и это сработало.
[Возможно только для Windows]
Остерегайтесь пробелов в пути, даже когда ваш jar находится в текущем рабочем каталоге. Например, для меня это было неудачно:
Я смог исправить это, указав полный путь к банке:
У меня была такая же проблема при попытке запустить файл jar. Путь содержал пробел, поэтому я должен был поместить цитаты вокруг. Вместо того:
я должен был написать
Я пытался запустить эту команду в админ cmd
Но получил эту ошибку:
Решение
1-й шаг
Щелкните правой кнопкой мыши по указанному файлу. Нажмите свойства. Нажмите на вкладку разблокировки в правом нижнем углу. Файл был заблокирован, потому что он был загружен, а не создан на моем компьютере.
2-й шаг
В cmd я изменил каталог, где находится файл jar.
Затем я набрал dir и увидел, что файл был назван duckencode.jar.jar
Эта команда выполнялась без сообщений об ошибках, и файл inject.bin, который я пытался создать, теперь находился в каталоге.
Надеюсь это поможет.
У меня была похожая проблема, и я даже попытался запустить CMD с правами администратора, но это не решило проблему.
Основным является то, что убедитесь, что смените каталог в cmd на текущий каталог где находится ваш jar-файл.
Выполните следующие шаги:
1. Скопируйте файл на рабочий стол.
введите команду cd desktp
Это должно работать.
Изменить : Начиная с JDK-11 ( JEP 330 : запускать однофайловые программы с исходным кодом)
Начиная с Java 11, инструмент командной строки Java может напрямую запускать исходный код из одного файла. например
Это сработало для меня.
Если вы используете OSX, загруженные файлы помечаются флагом безопасности, который запрещает запуск неподписанных приложений.
чтобы проверить это, вы можете просмотреть расширенные атрибуты в файле
Затем вы можете очистить атрибуты с
Это также может произойти, если вы неправильно указали свой список параметров. Вот что я делал:
Вместо правильной версии:
Для меня это произойдет, если вы используете родные польские символы в foldername, что в PATH. Так что, возможно, использование нетипичных символов было причиной проблемы.
Независимо от относительных путей к файлам это исправлено.
Это может произойти на компьютере с Windows, если в именах папок есть пробелы. Решением было бы ввести путь между «». Например:
Чтобы избежать проблем с разрешениями, попробуйте запустить его как администратор. Это работало для меня на Win10.
Запустите Command Prompt от имени администратора и выполните команду в этом формате. Дважды проверьте предложение, если есть опечатка.
root@debian:/home/user# chmod ugo+x /home/user/ml.jar chmod: cannot access ‘/home/user/ml.jar’: No such file or directory
root@debian:/home/user# chmod a+rx ml.jar chmod: cannot access ‘ml.jar’: No such file or directory
Тебе же говорят, нет никакого ml.jar
root@debian:/home/user# chmod ugo+x /home/user/ml.jar chmod: cannot access ‘/home/user/ml.jar’: No such file or directory
root@debian:/home/user# chmod a+rx ml.jar chmod: cannot access ‘ml.jar’: No such file or directory
у тебя прав на него может не быть
Во-первых, не работай под рутом, примета плохая.
Во-вторых, ты уж определись как твой файл называется.
И в-третьих, вывод ls действительно покажи, что у тебя там.
Смотрю. Вывода ls не вижу.
тебе английским по белому говорят, что этого файла нет. по крайней мере в этой директории.
Слушай, мы уже поняли что файла ml.jar там нет. Именно поэтому уже пятый раз предлагаем тебе запустить команду ls. Просто ls, без параметров.
root@debian:/home/user# ls Desktop Downloads ml.jar Pictures Templates Documents libflashplayer.so Music Public Videos
да не, у него что то странное. по крайней мере на первый взгляд.
1) Создать файл stub.sh с таким содержимым:
где helloworld.jar наш jar-файл, а helloworld.run исполняемый файл
Введи ls в терминал, затем введи cat ml.jar > /dev/null
Сделай скриншот терминала (убедись что обе команды на скрин попали) и скинь его сюда
На такой тред грех не подписаться
У меня случай как-то был из этой же серии. ) Сдал постоянному клиенту очередную версию ПО, он её продал в какую-то японскую фирму, ну и через денек-другой дает емелю пользователя и просит разобраться — что-то там никак не конфигурится. А там после развертывания архива с приложением нужно было настроить файл mail.ini. Несколько дней переписывался с японочкой — та утверждала, что все делает по инструкции и правит тот самый файл. В конечном итоге додумался попросить скриншот папки приложения — тут-то меня и осенило ). Судя по картинке, девушка работала со списком файлов в режиме сокрытия расширений файлов и на этой самой картинке почему-то болтался файл main.ini. В общем, выяснилось, что в архиве вместе с файлом main.ini болтался еще файл main.ini.old – его-то она и правила )))
Несколько раз еще сталкивался с ситуациями, когда случайно при создании файлов вбивали в имя файла русские буквы вместо латиницы (е,м,о,в,к) или визуально путали единичку с латинской l (которая L).
«Невозможно получить доступ к jarfile» в Linux land
у нас есть веб-приложение, работающее под JBoss 5, которое периодически запускает процесс «java» (используя ProcessBuilder) для компиляции файлов в Linux. Процесс работает без проблем на машине разработки Windows и на виртуальной машине Ubuntu, которую мы установили. Команда следующая:
все пути подтверждаются правильными и путь к файлу jar заключен в двойные кавычки. После двух пива и Биг-Мака системный отдел подтвердил, что пользователь (jbossadmin) запуск JBoss также является владельцем файла:
Я подозреваю, что это проблема прав поэтому мы предложили им измените разрешения на выполнение
единственное, о чем я могу думать, это то, что это ошибка перевода пути или что мы не применили право на правильное место!
Edit: отличное предложение Андреа Спадаччини, однако кажется, что у нас уже есть разрешения на обход через путь:
Edit: С Eva мы можем подтвердить, что выполнение строки через командную строку (bash), что она работает, но она выдает ошибку, если мы выполним строку из класса ProcessBuilder, встроенного в файл jar, в Linux. Так же, как сделал бы наш JBoss. Двойные кавычки параметры являются наиболее вероятной причиной проблемы здесь.
4 ответов
и затем вызвать команду
вы увидите, что процесс bash является родителем. Если вы сделаете то же самое, когда JBoss работает, вы можете увидеть, что родительский процесс выполнения java-это другой процесс, который не может интерпретировать кавычки.
надеюсь, что это вам поможет:)
проверьте, все ли каталоги, ведущие к файлу JAR, имеют разрешения на чтение и перемещение ( +rx ) для jbossadmin пользователей.
Если вы выполняете команду Java из сценария оболочки, проверьте, что сценарий оболочки имеет Терминаторы строк Linux/Unix, а не Windows, как это может произойти, если сценарий оболочки был создан на платформе Windows. Заявленная ошибка, безусловно, произойдет в этом случае.
используйте редактор Kate в Linux для проверки и исправления или утилиту dos2unix, если она доступна.
перейдите в каталог, где находится файл jar.
Исправлено: Невозможно получить доступ к Jarfile —
Не удалось открыть jarfile
Что вызывает ошибку «Невозможно получить доступ к Jarfile»?
Прежде чем переходить к решениям, убедитесь, что у вас есть активное подключение к Интернету и привилегии учетной записи администратора.
Решение 1. Установка последнего обновления Java
Как упоминалось ранее, для программ, запускающих файлы JAR, на вашем компьютере должна быть установлена правильная архитектура, т. Е. Java. Кроме того, это должна быть последняя версия, выпущенная для пользователей. Если у вас не установлена Java, вы можете напрямую загрузить и установить ее. Если у вас более старая версия, мы сначала удалим ее, а затем установим последнюю с официального сайта.
Удаление старого Java — менеджера приложений
Решение 2. Настройка файловой ассоциации по умолчанию
Также может появиться сообщение об ошибке: Java не установлен в качестве обработчика по умолчанию для файлов JAR на вашем компьютере. Программа архивации может быть выбрана в качестве средства открытия JAR-файлов по умолчанию, что может не дать ожидаемого результата. Мы можем попробовать изменить сопоставление файлов и проверить, устраняет ли это проблему.
Открытие JAR-файлов с помощью Java
Нажмите Windows + I, чтобы запустить настройки. Теперь перейдите к Программы и выберите Приложения по умолчанию с левой панели навигации.
Изменение файловой ассоциации по умолчанию
Решение 3. Проверка на наличие вредоносных программ
Если вы по-прежнему получаете сообщение об ошибке при запуске операционной системы или любой другой программы, вам следует проверить, нет ли на вашем компьютере вирусов или вредоносных программ. Эти объекты используют ваш реестр и после изменения нескольких ключей делают JAR-файл непригодным для использования.
Сканирование с использованием вредоносных байтов
Вы должны выполнить тщательную проверку на своем компьютере, а затем выполнить Решение 1, чтобы убедиться, что все записи и ассоциации файлов удалены, а затем переделаны при переустановке Java. Вы проверяете нашу статью о том, как удалить вредоносное ПО, используя Malwarebytes.
Решение 4. Проверка документации (для разработчиков)
Разработчики также испытывают это сообщение об ошибке, когда они пытаются запустить файлы JAR, когда они кодируют с Java или другим языком. Это может быть очень хлопотно и, вероятно, остановит вашу задачу под рукой.
Ошибка кодирования Java
Для диагностики и устранения ошибки рекомендуется прочитайте документацию по функции или утилиту, которую вы используете для открытия или запуска файлов JAR. Возможно, вы неправильно указали путь к файлу или, возможно, передали неверные параметры в функцию. Вы можете легко получить демонстрации функций, которые вы пытаетесь реализовать на популярных веб-сайтах по кодированию, таких как Stack Overflow. Определите свою ошибку и исправьте ее, прежде чем снова запустить программу / функцию.