Tôi có một không gian làm việc Scala đa dự án trong nhật thực. Tôi nghĩ rằng tôi bị hosed bởi sự thiếu hiểu biết của tôi về cách Scala nhập khẩu các gói, nhưng sau khi dành nhiều thời gian hơn tôi quan tâm để thừa nhận tìm kiếm một giải pháp, tôi không thể hình này ra. Tôi đã tạo lại vấn đề trong một thiết lập 2 dự án đơn giản.Nhập gói tương đối của Scala Nhập
Dự án 1: com.foo.mathematics chứa một lớp Vector đơn giản
Chứa một file:
package com.foo.mathematics
class Vector2D(x : Double, y : Double) {
def length = math.sqrt(x*x + y*y)
}
Dự án 2: com.foo.analysis
package com.foo.analysis
import com.foo.mathematics.Vector2D
class Frame(xAxis : Vector2D, yAxis : Vector2D) {
}
Eclipse cho thấy một lỗi trong dòng nhập, Thông báo lỗi mà tôi nhận được là: Đối tượng toán học không phải là thành viên của gói com.foo.
Trong giao diện phác thảo, tuyên bố nhập khẩu của tôi nói điều này:
com.foo.analysis.<error: <none>>.Vector2D
Tôi đã thử thay đổi khẩu để:
import mathematics.Vector2D
import _root_.com.foo.mathematics.Vector2D
không một hoạt động ...
Tôi gì còn thiếu?
Cố gắng xóa tất cả các dự án. Xây dựng dự án 1, sau đó trong dự án 2, xóa dòng nhập, sau đó thử gõ 'import com.fo [CTRL-SPACE]', nó có hoàn thành không? Nếu có, hãy gõ CTRL-SPACE lần nữa, nó có cung cấp 'mathmatics' và' analysis' không? – huynhjl
Tôi đã cố gắng sửa nó bằng cách sử dụng _root_ nặng. – fbl