我想設置一個fsc進程運行在一個盒子上,然後我可以遠程訪問。如何運行Fast Scala編譯器遠程服務器?
我知道我需要共享一個臨時目錄。
但是,我正在努力使它在筆記本電腦上運行。
我想:
fsc -Djava.io.tmpdir=/tempscala -server 127.0.0.1:8080
,但它只是給我的使用選項...
幫助?
我想設置一個fsc進程運行在一個盒子上,然後我可以遠程訪問。如何運行Fast Scala編譯器遠程服務器?
我知道我需要共享一個臨時目錄。
但是,我正在努力使它在筆記本電腦上運行。
我想:
fsc -Djava.io.tmpdir=/tempscala -server 127.0.0.1:8080
,但它只是給我的使用選項...
幫助?
我認爲你誤解了fsc的作用。 fsc啓動一個守護進程,該進程在要調用的調用之間保持活動狀態,因此不必每次都執行所有初始化工作。除非擁有共享文件系統,否則實際上不能在完全獨立的框中運行編譯。
由於Jeha說,你應該指定一個臨時目錄與-D,那麼你希望編譯階文件(這就是爲什麼你得到的使用說明 - 缺少的重要資料片)。
您還需要刪除-server,因爲fsc會選擇要運行的端口,並在第一次運行時告訴您。你會看到線是這樣的:
[Temp directory: /var/folders/oj/ojMgC8mDH4uK9fM5cjlK1E+++TI/-Tmp-/scala-devel/temp]
[Port number: 54056]
[Connected to compilation daemon at port 54056]
然後,當你想重新編譯,你只要再次調用相同的命令(仍無需指定服務器端口),然後最後當你完成運行fsc -shutdown
請參閱here手冊頁
我忘了補充,一個疑難雜症我在開始時是它抱怨它找不到我的文件進行編譯。我就做在classpath中一個錯字,但你必須-shutdown然後重新運行與固定類路徑的FSC命令,它沒有注意到自己,否則改變了它。 – CPJ
我想你提供了一些源文件? – jeha
你爲什麼要設置'-Djava.io.tmpdir =/tempscala'?它不應該像'fsc -verbose -d/tempscala foobar.scala'? – jeha
據我所知,您需要共享_source_和_target_目錄。然而,我可能是錯的 - 在遠程服務器上使用fsc並不是很模糊,並不一定能正常工作。 –