2012-06-14 37 views
42

我試圖運行在Netbeans中成功創建一個.jar文件,我收到以下錯誤:無法確定當前目錄

Error occurred during initialization of VM java.lang.Error: Properties init: Could not determine current working directory. at 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:. 

我在想什麼?

回答

3

我得到了同樣的錯誤信息,但我不確定是否出於同樣的原因,因爲我不使用Netbeans。我使用我的終端並使用ant進行編譯。

I cd'd到目錄以運行javafile.class文件。我想運行的文件是更大包的一部分。包的目錄結構如下所示:a/b/c/javafile.classa,bc目錄都是更大包的一部分。

運行我javafile.class,我cd倒是爲a,並從那裏跑了文件:java b/c/javafile。在我做了一些更改並重新編譯了我的ant腳本之後,我所在的目錄已被刪除,並由ant重新編譯。所以,當我再次運行javafile.class時,我得到了您遇到的錯誤。

我修復了我的問題cd從刪除的目錄中刪除並重新制作ant,然後再次運行我的javafile.class

+2

謝謝。從高位目錄導航到低位目錄,然後重新運行我的命令也爲我解決了這個問題。 – yochannah

134

當我試圖在目錄內呼叫java -version時,我看到了同樣的錯誤,我已經從另一個終端會話中刪除了該目錄。當然在這種情況下,java could not determine the current working directory,只是因爲它不存在。

+3

這是我的情況。 – gameweld

+9

你救了我的日子:-) –

+6

這發生在我身上的時候,當我在maven目標目錄中發出一個命令:當時,然後我做了一個清理並構建(clean install),然後發出相同的命令。即使路徑仍然有效,我首先發出命令的特定目錄條目並不存在(OS X)正在執行cd ../target修復了我的問題 –

0

剛纔,我得到了同樣的錯誤。因爲我使用java將setreuid/setregid設置爲apache:apache,當我更改回root:root時,我在uid之前更改了gid,真正的結果是root:apache。一切都出錯了,比如錯誤說「java.lang.Error:Properties init:Could not determine current working directory。」

你可以檢查它。

2

我得到了同樣的錯誤 - 通過只是在做「Java的版本」

Error occurred during initialization of VM

java.lang.Error: Properties init: Could not determine current working directory.

(你會認爲它不會需要調出 虛擬機只是爲了回答諸如「一個簡單的問題是什麼版本是你的嗎?')

pwd 的目錄路徑的更高元素(斜線之間)中有空格。當我將當前工作目錄中的一個從/ 向下沒有任何空格時,'java -version'命令得到了正確的響應。

我得出結論,他們沒有考慮帶空格的目錄,當他們 編程它。但那是1.7版本。我現在已經加載了版本8,所以希望它已被更正爲 。

+0

我從'/ Applications/NetBeans-8.1beta/glassfish-4.1/glassfish/domains/domain1/generated'調用'java -v'時遇到了同樣的問題(有點和連字符,而不是空格,但它們也可能導致問題[否,請參閱編輯])。然後,我確定'Java版本「1.8.0_60」'(似乎仍然是Java8的問題。編輯:這是因爲'生成'文件夾是從NetBeans重新創建的緩存文件夾。當我cd出來然後回到相同/生成它沒有發生。asmaier(下)是正確的。 –

5

在Fedora 21,我試着打電話給卸載後,「Java的版本」,它給了上述錯誤。關閉所有終端並再次打開並嘗試。

應該工作。

+0

同樣適用於我,用Ubuntu – deFreitas

2

下的CentOS,RHEL,SL或SLC?在debian/ubuntu下不是問題。

我找到你需要註銷您正在使用的外殼,並重新登錄。環境不爲當前shell設置正確最初。登錄後我看到:java -version會起作用。

還要確保在/ etc /方案/ 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 
1

我得到了在Mac OS X這樣的錯誤,這是一個真正的錯誤,因爲該目錄已經消失。當我執行命令,我的目錄是<PROJECT DIR>\target

The problem was I opened two terminals in the other terminal I ran mvn clean install and the target directory from PROJECT DIR got deleted and recreated.

我從那裏執行Java命令的舊終端不在有效的目錄中。

The file descriptor is invalid since the directory got deleted by Maven.

當我搬回到父目錄和改回target目錄,java命令開始正常工作正常。

0

如果從只讀目錄中發出「java -version」或其他java命令,則可能會出現此錯誤。例如使用在CentOS的openjdk 8(非根用戶):VM java.lang.Error的初始化期間發生

cd /usr/bin 
java -version 

錯誤:屬性初始化:無法確定當前工作目錄。

1

也許你沒有你的工作站上的配置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 
0

我有在我的Mac這個錯誤,當我從啓動tomcat檢查我蝕。設置JAVA_HOME並重新啓動eclipse後,錯誤被修復。