I have a multi-project Scala workspace in eclipse. I think I’m getting hosed by my lack of understanding of the way Scala imports packages, but after spending more time than I care to admit looking for a solution, I can’t figure this one out. I have recreated the problem in a simple 2 project setup.
Project 1: com.foo.mathematics contains a simple Vector class
Contains one file:
package com.foo.mathematics
class Vector2D(x : Double, y : Double) {
def length = math.sqrt(x*x + y*y)
}
Project 2: com.foo.analysis
package com.foo.analysis
import com.foo.mathematics.Vector2D
class Frame(xAxis : Vector2D, yAxis : Vector2D) {
}
Eclipse shows an error in the import line, The error message that I get is: Object mathematics is not a member of the package com.foo.
In the outline view, my import statement says this:
com.foo.analysis.<error: <none>>.Vector2D
I have tried changing the import to:
import mathematics.Vector2D
import _root_.com.foo.mathematics.Vector2D
neither one works…
What am I missing?
Both
import com.foo.mathmatics.Vector2Dandimport _root_.com.foo.mathmatics.Vector2Dshould be fine. Most likely you either haven’t added the first project to the build path of the second (seeBuild Path>Configure Build Pathin the context menu), or need to clean the second project (Project>Build Clean) after making changes in the first project.(Also,
mathmaticslooks like a typo formathematics, so double check that you really have the same name in both places.)Relative package imports don’t come into it, they just mean you could write it this way: