Mam wielo projektowy obszar roboczy Scala w czasie zaćmienia. Wydaje mi się, że jestem zaskoczony brakiem zrozumienia sposobu, w jaki Scala importuje paczki, ale po spędzeniu większej ilości czasu niż staram się przyznać, szukając rozwiązania, nie mogę wymyślić tego. Odtworzyłem problem w prostej 2 konfiguracji projektu.Import względnego pakietu Scala:
Projekt 1: com.foo.mathematics zawiera prostą klasę wektor
zawiera jeden plik:
package com.foo.mathematics
class Vector2D(x : Double, y : Double) {
def length = math.sqrt(x*x + y*y)
}
Projekt 2: com.foo.analysis
package com.foo.analysis
import com.foo.mathematics.Vector2D
class Frame(xAxis : Vector2D, yAxis : Vector2D) {
}
Eclipse przedstawia błąd w wierszu importu, Otrzymuję komunikat o błędzie: Matematyka obiektu nie jest członkiem pakietu com.foo.
W widoku konspektu, moja wypowiedź import mówi tak:
com.foo.analysis.<error: <none>>.Vector2D
Próbowałem zmieniając import do:
import mathematics.Vector2D
import _root_.com.foo.mathematics.Vector2D
ani jednego działa ...
Co mam brakujący?
Spróbuj wyczyścić wszystkie projekty. Zbuduj projekt 1, następnie w projekcie 2 usuń wiersz importu, a następnie spróbuj wpisać 'import com.fo [CTRL-SPACE]', czy jest on kompletny? Jeśli tak, to ponownie wpisz CTRL-SPACE, czy oferuje on 'mathmatics' i' analysis'? – huynhjl
Udało mi się to naprawić ciężkim użyciem _root_. – fbl