无法确定当前目录
我试图运行一个.jar文件,在Netbeans中创build成功,我收到以下错误:
VM java.lang.Error初始化期间发生错误:Properties init:无法确定当前工作目录。 在java.lang.System.initProperties(本地方法)在java.lang.System.initializeSystemClass(System.java:1070)
我键入运行.jar的命令是
java -jar "/path to the dist forlder/EOPPrototype.jar"
我的类path如下所示:
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
时,我看到了同样的错误,而这个目录已经从另一个terminal会话中删除了。 当然,在这种情况下,java could not determine the current working directory
,只是因为它不存在。
在Fedora 21中,我尝试在卸载后调用“java -version”,并给出了上述错误。 closures所有的terminal并再次打开并尝试。
应该pipe用。
我得到了同样的错误信息,但我不确定是否出于同样的原因,因为我不使用Netbeans。 我用我的terminal和ant
编译。
我cd
到目录运行一个javafile.class
文件。 我想运行的文件是一个更大的包的一部分。 包的目录结构如下所示: a/b/c/javafile.class
。 a
, b
和c
目录都是更大包的一部分。
为了运行我的javafile.class
,我把javafile.class
放到a
文件里,然后运行这个文件: java b/c/javafile
。 在我做了一些修改后,用我的ant
脚本重新编译后,我所在的目录已经被删除,并被ant
重新编译。 所以,当我再次运行javafile.class
时,我得到了错误。
我解决了我的问题,通过删除由ant
重新删除的目录,然后再次运行我的javafile.class
。
我得到了同样的错误 –
虚拟机初始化时发生错误
java.lang.Error:Properties init:无法确定当前的工作目录。
通过只做“java -version”(你可能会认为不需要调出一个虚拟机来回答一个简单的问题,比如“你是什么版本的?”)
pwd的目录path中较高的元素(斜线之间)有空格。 当我将当前的工作目录从/下移到没有任何空格时,'java -version'命令得到了正确的响应。
我得出结论,当他们编程时,他们没有考虑带有空格的目录。 但那是1.7版本。 我现在加载版本8,希望它已被纠正。
在CentOS下,rhel,SL还是SLC? 在Debian / Ubuntu下不是问题。
我发现您需要注销正在使用的shell并重新login。对于当前shell,最初没有正确设置环境。 login后,我看到: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
我在Mac OS X上遇到了这个错误,这是一个真正的错误,因为这个目录已经消失了。 我在执行命令时的目录是<PROJECT DIR>\target
。
问题是我在另一个terminal打开两个terminal我跑了
mvn clean install
和从PROJECT DIR
目标目录被删除并重新创build。
我执行Java命令的旧terminal不在有效的目录中。
文件描述符自Maven删除目录以来无效。
当我移回到父目录,并将其更改回target
目录时, java
命令按预期开始正常工作。
也许你没有正确地在你的工作站上configurationjava环境
以下configuration是我在我的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
立即使用这些configuration,然后你可以检查
java -version
刚才,我得到了同样的错误。 因为我使用java setreuid / setregid到apache:apache,当我改回到根:根,我改变gid之前uid,真正的结果是根:apache。 一切都出错了,如错误说“java.lang.Error:Properties init:Could not determine current working directory。”
你可以检查它。
如果您从只读目录中发出“java -version”或其他java命令,则可能会出现此错误。 例如,在centos上使用openjdk 8(作为非root用户):
cd /usr/bin java -version
VM java.lang.Error初始化期间发生错误:Properties init:无法确定当前工作目录。
当我从eclipse启动tomcat时,在我的mac中出现这个错误。 设置JAVA_HOME并重新启动eclipse后,错误被修复。