如何运行Fast Scala Compiler远程服务器?

R u*_*c k 5 java scala scalac fsc

我想设置一个在盒子上运行的fsc进程,然后我可以远程访问它.

我知道我需要共享一个临时目录.

但是,我很难在笔记本电脑上使用它.

我尝试着:

fsc -Djava.io.tmpdir=/tempscala -server 127.0.0.1:8080
Run Code Online (Sandbox Code Playgroud)

但它只是给了我使用选项......

救命?

CPJ*_*CPJ 3

我认为您误解了 fsc 的作用。fsc 启动一个守护进程,该进程在编译调用之间保持活动状态,因此不必每次都执行所有初始化工作。除非您有共享文件系统,否则您实际上无法在完全独立的机器上运行编译。

正如 Jeha 所说,您应该使用 -D 指定一个临时目录,然后是您想要编译的 scala 文件(这就是您获得使用说明的原因 - 它缺少一条重要的信息)。

您还需要删除 -server,因为 fsc 会选择它将运行的端口,并在您第一次运行它时告诉您。你会看到类似这样的行:

[Temp directory: /var/folders/oj/ojMgC8mDH4uK9fM5cjlK1E+++TI/-Tmp-/scala-devel/temp]
[Port number: 54056]
[Connected to compilation daemon at port 54056]
Run Code Online (Sandbox Code Playgroud)

然后,当你想重新编译时,你只需再次调用相同的命令(仍然不需要指定服务器端口),最后当你完成后运行fsc -shutdown

请参阅此处的手册页

  • 我忘了添加,我一开始遇到的一个问题是它抱怨找不到我要编译的文件。我在类路径中犯了一个拼写错误,但是您必须 -shutdown 然后使用固定的类路径重新运行您的 fsc 命令,因为它不会注意到您已经更改了它。 (2认同)