2011-09-06 18 views
5

Tôi muốn thiết lập quy trình fsc đang chạy trên một hộp mà tôi có thể truy cập từ xa.Làm cách nào để chạy máy chủ từ xa Fast Scala Compiler?

Tôi hiểu rằng tôi cần chia sẻ thư mục tạm thời.

Tuy nhiên, tôi đang cố gắng để thậm chí có được nó đi trên máy tính xách tay của tôi.

Tôi đang cố gắng:

fsc -Djava.io.tmpdir=/tempscala -server 127.0.0.1:8080 

nhưng nó chỉ mang lại cho tôi sự lựa chọn sử dụng ...

Trợ giúp?

+0

Tôi đoán bạn đã cung cấp một số tệp nguồn? – jeha

+0

Tại sao bạn đặt '-Djava.io.tmpdir =/tempscala'? Không phải nó giống như 'fsc -verbose -d/tempscala foobar.scala'? – jeha

+0

Bạn cần chia sẻ thư mục _source_ và _target_, theo như tôi biết. Tôi có thể sai, tuy nhiên - sử dụng fsc trên một máy chủ từ xa không phải là khá mơ hồ, và không nhất thiết phải làm việc. –

Trả lời

2

Tôi nghĩ bạn hiểu sai về fsc nào. fsc bắt đầu một quá trình daemon mà vẫn còn sống giữa các cuộc gọi để biên dịch, do đó, nó không phải làm tất cả các công việc khởi tạo mỗi lần. Bạn thực sự không thể chạy trình biên dịch trên một hộp hoàn toàn riêng biệt trừ khi bạn có một hệ thống tệp được chia sẻ. Như Jeha nói, bạn nên chỉ định một thư mục tạm thời với -D, sau đó các tập tin scala bạn muốn biên dịch (đây là lý do tại sao bạn đang nhận được hướng dẫn sử dụng - nó thiếu một phần quan trọng của thông tin).

Bạn cũng cần phải thả các máy chủ, như fsc chọn cổng nó sẽ chạy trên, và cho bạn biết nó lần đầu tiên bạn chạy nó. Bạn sẽ thấy dòng một cái gì đó như thế này:

[Temp directory: /var/folders/oj/ojMgC8mDH4uK9fM5cjlK1E+++TI/-Tmp-/scala-devel/temp] 
[Port number: 54056] 
[Connected to compilation daemon at port 54056] 

Sau đó, khi bạn muốn biên dịch lại, bạn chỉ cần gọi cùng một lệnh một lần nữa (vẫn không cần phải chỉ định cổng máy chủ), rồi cuối cùng khi bạn thực hiện xong việc chạy fsc -shutdown

xem here cho trang người đàn ông

+1

Tôi quên để thêm, một gotcha tôi đã có trong đầu là nó phàn nàn rằng nó không thể tìm thấy các tập tin của tôi để biên dịch. Tôi đã thực hiện một lỗi đánh máy trong classpath, nhưng bạn phải -shutdown sau đó chạy lại lệnh fsc của bạn với classpath cố định vì nó không nhận thấy rằng bạn đã thay đổi nó nếu không. – CPJ