Подтвердить что ты не робот

Невозможно определить текущий каталог

Я пытаюсь запустить файл .jar, который был успешно создан в Netbeans, и я получаю следующую ошибку:

Ошибка при инициализации VM java.lang.Error: Свойства init: Не удалось определить текущий рабочий каталог. в java.lang.System.initProperties(собственный метод) в java.lang.System.initializeSystemClass(System.java:1070)

Команда, которую я набираю для запуска .jar,

java -jar "/path to the dist forlder/EOPPrototype.jar"

My classpath выглядит следующим образом:

CLASSPATH=/opt/netbeans-7.1.2/ide/modules/ext/mysql-connector-java-5.1.13-     bin.jar:/h/USERS/local/pagola/NetBeansProjects/mylib/dist/mylib.jar:/h/USERS/local/pagola/NetBeansProjects/EOPPrototype/build/classes:.

Что мне не хватает?

4b9b3361

Ответ 1

Я видел ту же ошибку, когда пытался вызвать java -version внутри каталога, который я уже удалил из другого сеанса терминала. Конечно, в этом случае java could not determine the current working directory, просто потому, что его не было.

Ответ 2

В Fedora 21 я попытался вызвать "java -version" после удаления и дал вышеприведенную ошибку. Закройте все терминалы и откройте их снова и попробуйте.

Должен работать.

Ответ 3

Я получал то же сообщение об ошибке, но я не уверен, было ли это по той же причине, что и я не использую Netbeans. Я использую свой терминал и компилирую его с помощью ant.

I cd 'd в каталог для запуска файла javafile.class. Файл, который я хочу запустить, является частью более крупного пакета. Структура каталога пакета выглядела примерно так: a/b/c/javafile.class. Каталоги a, b и c являются частью более крупного пакета.

Чтобы запустить мой javafile.class, я cd 'd в a и запустить файл оттуда: java b/c/javafile. После того, как я внесла некоторые изменения и перекомпилировал мой ant script, каталог, в котором я был, был удален и переделан с помощью ant. Итак, когда я снова запустил javafile.class, я получил ошибку, которую вы получаете.

Я исправил свою проблему cd из каталогов, которые были удалены и переделаны с помощью ant, а затем снова запустил мой javafile.class.

Ответ 4

Решение: cd в другой каталог и снова запустите эту команду, которая работает для меня.

См. объяснение здесь: https://bugs.openjdk.java.net/browse/JDK-8186434

Ответ 5

Я получил ту же ошибку -

Ошибка при инициализации VM

java.lang.Error: Свойства init: Не удалось определить текущий рабочий каталог.

просто сделав "java -version" (вы бы подумали, что не нужно виртуальную машину, чтобы ответить на простой вопрос: "какая у вас версия?" )

Более высокий элемент (между косой чертой) пути к каталогу pwd в нем были пробелы. Когда я создал текущий рабочий каталог, который из/ нигде не было никаких пробелов, команда "java -version" получила правильный ответ.

Я заключу, что они не учитывали каталоги с пробелами, когда они запрограммировал его. Но это была версия 1.7. Я сейчас загрузил версию 8, надеюсь, он был исправлен.

Ответ 6

В CentOS, rhel, SL или SLC? Не проблема в debian/ubuntu.

Я обнаружил, что вам нужно выйти из оболочки, которую вы используете, и зайти в нее. Окружение не настроено изначально правильно для текущей оболочки. После входа в систему я вижу: java -version будет работать.

Также убедитесь, что /etc/alternatives/java фактически указывает на что-то разумное, например:

ls -lisa /etc/alternatives/java
72645 0 lrwxrwxrwx. 1 root root 46 May 27 11:29 /etc/alternatives/java -> /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java

Ответ 7

возможно, вы не правильно настроили java-среду на своей рабочей станции.

следующие конфигурации были тем, что я сделал в своем mac

vi ~/.bash_profile

и добавьте в него

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH

заменить

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home

с вашей версией jdk а затем запустите

source ~/.bash_profile

использовать эту конфигурацию сразу то вы можете проверить

java -version

Ответ 8

Я получил эту ошибку в Mac OS X, и это настоящая ошибка, так как каталог исчез. Каталог, в котором я был, когда выполняю команды, - <PROJECT DIR>\target.

Проблема заключалась в том, что я открыл два терминала в другом терминале, на котором я запускал mvn clean install, и целевой каталог из PROJECT DIR был удален и воссоздан.

Мой старый терминал, откуда я выполнял Java-команды, не находится в действительном каталоге.

Дескриптор файла недействителен, так как каталог был удален Maven.

Когда я вернусь в родительский каталог и вернусь в каталог target, команда java запустилась правильно, как и ожидалось.

Ответ 9

Как раз сейчас, я получил ту же ошибку. потому что я использую java для setreuid/setregid для apache: apache, когда я возвращаюсь к root: root, я изменил gid перед uid, реальным результатом является root: apache. все происходит неправильно, например, ошибка: "java.lang.Error: Свойства init: Не удалось определить текущий рабочий каталог".

вы можете проверить его.

Ответ 10

Вы можете получить эту ошибку, если вы выдаете "java -version" или другую команду java из каталога только для чтения. Например, используя openjdk 8 on centos (как пользователь без полномочий root):

cd /usr/bin
java -version

Ошибка при инициализации виртуальной машины java.lang.Error: Свойства init: Не удалось определить текущий рабочий каталог.

Ответ 11

У меня была эта ошибка в моем mac, когда я запускал tomcat из моего затмения. После установки JAVA_HOME и перезапуска затмения ошибка исправлена.