我正在VMWare Fusion 3.x(OSX)內部運行的Windows 7 x64上進行一些Java開發。我已經安裝了JDK6(更新26),將JAVA_HOME設置爲路徑(沒有結尾斜槓),然後重新啓動我的命令提示符。在VMWare下需要幫助在Windows上運行visualvm
我可以成功啓動該程序。在啓動時運行的校準,然後失敗,出現此錯誤:
「無法創建目錄\ VMWare的主機\共享文件夾\ .nbprofiler」(即斜線後沒有空間,但標記的藏身之期)
我可以點擊繼續,但是當我在程序中時,我無法執行CPU或內存分析。我拋出了一個類似的錯誤對話框:
「爲目標JVM錯誤檢索保存的校準數據:無法創建...(同更早)」
曾幾何時我通過傳遞過這樣的工作 - -userdir標誌和-J-Dnbprofiler.home,但該技巧不再適用。
(完整的命令是: jvisualvm --userdir C:\用戶\ MYNAME -J-Dnbprofiler.home = C:\用戶\ MYNAME )
如何可以強制jvisualvm保存其校準數據在一個「真正的」驅動器,而不是vmware網絡驅動器,並得到這個工作?
優秀,工作!順便說一句,安裝Windows時我沒有做任何特別的事情,所以我不知道user.home如何以及爲什麼沒有指向正確的位置。我**認爲**這是VMWare正在做的一些幕後操作。 – cremes
Java使用Windows註冊表和shell32.dll API來獲取用戶主目錄。事實上,它尋找Desktop文件夾,並使用父目錄作爲主目錄。你的「桌面」文件夾在哪裏? –
那會是那個問題。 Java沒有考慮Windows文件夾重定向功能。 VMWare使您能夠通過「文件夾重定向」功能同步重要的用戶文件夾,這意味着所有內容都映射到主機系統以獲取這些關鍵文件夾。所以桌面被映射到上述文件夾作爲子文件夾,因此它的父母是錯誤的。 感謝Tomas,這解決了另一個問題,當時我正在使用當前正在處理的大量Java應用程序,這些應用程序在啓用文件夾重定向時也同樣感到困惑。 –