2016-02-16 22 views
2

我已經在Mac上安裝了scala,sbt。當我嘗試運行sbt時,會出現無法識別的VM選項'CMSClassUnloadingEnabledn-J-Xmx2Gn'。我認爲JVM存在一個問題,但找不到這個錯誤的任何幫助。無法識別的VM選項'CMSClassUnloadingEnabledn-J-Xmx2Gn'

更多錯誤信息: 您的意思是'(+/-)CMSClassUnloadingEnabled'? 錯誤:無法創建Java虛擬機。 錯誤:發生了致命異常。程序將會退出。

+0

嘗試執行:'回聲$ SBT_OPTS'並粘貼在這個答案 – chengpohi

+0

回聲$ SBT_OPTS不會在/ usr/local/etc中顯示任何 – Viktor

+1

我卸載SBT後,手動刪除sbtopts和sbtopts.default,然後安裝再次,它工作正常。看起來問題是,在初始安裝過程中,我運行了以下命令:echo'-J-XX:+ CMSClassUnloadingEnabled \ nJ -Xmx2G \ n'>>/usr/local/etc/sbtopts – Viktor

回答

1

我的猜測是,SBT配置混淆關於換行和 軋液像

-J-XX:+CMSClassUnloadingEnabled 
-J-Xmx2G 

成一行

+1

欲瞭解更多的上下文,你應該打開sbt配置文件,我的(Max OSX)位於/ usr/local/etc/sbtopts。找到包含'-J-XX'的行:+ CMSClassUnloadingEnabled \ n -J-Xmx2G \ n'並將這兩個\ n替換爲真正的新行。另外,如果您按照http://sourabhbajaj.com/mac-setup/Scala/README.html中的說明進行操作,那麼Google會在'max osx中安裝scala' – luanjunyi

0

我面臨着同樣的問題後,我跑我跑這個命令命令:echo'-J-XX:+ CMSClassUnloadingEnabled \ nJ-Xmx2G \ n'>>/usr/local/etc/sbtopts。 看起來文件/ usr/local/etc/sbtopts包含在同一行中的兩個選項,以\ n分隔,即文件的實際內容爲-J-XX:+ CMSClassUnloadingEnabled \ nJ-Xmx2G \ n

解決辦法是通過編輯這個文件來刪除\ n,然後按Enter鍵,這樣文件/ usr/local/etc/sbtopts的內容就像David在他的回覆中提到的那樣。