无法确定当前目录



我正在尝试运行在 Netbeans 中成功创建的.jar文件,但收到以下错误:

初始化 VM java.lang 期间发生错误。错误: 属性初始化:无法确定当前工作目录。在 java.lang.System.initProperties(Native Method) at java.lang.System.initializeSystemClass(System.java:1070)

我键入的运行.jar的命令是

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

我的类路径如下:

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:.

我错过了什么?

当我尝试在目录中调用java -version时,我看到了同样的错误,我已经从另一个终端会话中删除了该目录。当然,在这种情况下java could not determine the current working directory,仅仅是因为它不存在。

解决方案:cd 到另一个目录并再次运行该命令,这对我有用。

请参阅此处的说明:https://bugs.openjdk.java.net/browse/JDK-8186434

在 Fedora 21 中,我尝试在卸载后调用"java 版本",它给出了上述错误。关闭所有终端,然后再次打开并尝试。

应该工作。

我收到相同的错误消息,但我不确定这是否与我不使用 Netbeans 的原因相同。我使用我的终端并使用ant进行编译。

cd到一个目录来运行一个javafile.class文件。我要运行的文件是一个更大的包的一部分。软件包的目录结构如下所示:a/b/c/javafile.classabc 目录都是较大包的一部分。

为了运行我的javafile.class,我cd进入a并从那里运行文件:java b/c/javafile 。在我进行了一些更改并使用我的ant脚本重新编译后,我所在的目录已被ant删除并重新制作。所以,当我再次跑javafile.class时,我得到了你得到的错误。

通过cd ant删除和重新制作的目录,然后再次运行我的javafile.class来解决我的问题。

也许您没有在工作站上正确配置 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

我得到了同样的错误 -

初始化 VM 时出错

java.lang.Error: Properties init: 无法确定当前工作目录。

通过只做"java版本"(你会认为它不需要提出一个虚拟机只是为了回答一个简单的问题,例如"您是什么版本?

pwd 目录路径的较高向上元素(斜杠之间的元素)里面有空格。 当我使当前工作目录成为/向下没有任何空格,"java -version"命令得到了正确的响应。

我的结论是,当他们没有考虑带有空格的目录时编程了它。 但那是1.7版。 我现在已经加载了版本 8,所以希望它已被更正。

我在Mac OS X上收到此错误,这是一个真正的错误,因为目录已经消失了。执行命令时我的目录是 <PROJECT DIR>target .

问题是我在我运行mvn clean install的另一个终端中打开了两个终端,并且PROJECT DIR的目标目录被删除并重新创建。

我执行 Java 命令的旧终端不在有效目录中。

文件描述符无效,因为该目录已被 Maven 删除。

当我移回父目录并更改回target目录时,java命令开始按预期正常工作。

在 CentOS、rhel、SL 或 SLC 下?在 debian/ubuntu 下不是问题。

我发现您需要注销正在使用的外壳并重新登录。最初未为当前 shell 正确设置环境。登录后,我看到:java版本将起作用。

还要确保/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

刚才,我得到了同样的错误。 因为我使用 Java 将 setreuid/setregid 设置为 apache:apache,所以当我改回 root:root 时,我在 uid 之前更改了 gid,真正的结果是 root:Apache 。 所有出错,例如错误说"java.lang.Error:属性初始化:无法确定当前工作目录。

你可以检查一下。

当我

从日食启动雄猫时,我的 mac 中遇到了此错误。设置JAVA_HOME并重新启动日食后,错误已修复。

你必须先安装 default-jdk !sudo apt install default-jdk只有版本 11 无法正确设置所有环境代替 : sudo apt install openjdk-11-jdk

如果从只读目录发出"java -version"或其他 java 命令,则可能会收到此错误。例如在 centos 上使用 openjdk 8(作为非 root 用户):

cd /usr/bin
java -version

初始化 VM 时出错java.lang.Error: Properties init: 无法确定当前工作目录。

最新更新