【发布时间】:2015-10-10 09:36:50
【问题描述】:
我正在使用 play 2.3.8 并使用 this gudie 在我的项目中创建子项目我创建了子项目“mySubProject”,然后我在 eclipse 中导入了父项目 myParentProject 和 mySubProject 中的项目现在我有两个问题
首先->首先我在eclipse中导入myParentProject然后我导入mySubProject这对吗?
第二-> 在我的mySubProject 中,我可以访问myParentProject 的类并导入它的包
但是在mySubProject 中,当我想访问我的myParentProject 的类/包时,它不允许我这样做,它会显示错误Object not found
这是根项目myParentProject的构建文件
name := """myParentProject"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
.aggregate(mySubProject)
.dependsOn(mySubProject)
scalaVersion := "2.11.1"
fork in run := true
javaOptions in run ++= Seq("-J-Xms1G", "-J-Xmx2G")
val appDependencies = Seq(
// Add your project dependencies here,
"org.scalatestplus" %% "play" % "1.2.0" % "test"
)
lazy val mySubProject = project
libraryDependencies ++= Seq("org.scalatest" %% "scalatest" % "2.2.1" % "test"withSources() withJavadoc(),
"com.esotericsoftware.kryo" % "kryo" % "2.10",
"org.mongodb" %% "casbah" % "2.8.0",
"org.slf4j" % "slf4j-api" % "1.6.4",
"org.elasticsearch" % "elasticsearch" % "1.6.0",
"org.codehaus.groovy" % "groovy-all" % "2.4.0",
"org.apache.lucene" % "lucene-expressions" % "4.10.4",
"org.scalatest" %% "scalatest" % "2.2.1" % "test"withSources() withJavadoc(),
"org.easymock" % "easymock" % "3.1" withSources() withJavadoc(),
"org.mockito" % "mockito-all" % "1.9.5",
"com.typesafe.akka" %% "akka-actor" % "2.3.6",
"ch.qos.logback" % "logback-core" % "1.0.9",
"com.github.nscala-time" %% "nscala-time" % "2.0.0",
"net.liftweb" %% "lift-json" % "2.6+",
"net.liftweb" %% "lift-json" % "2.6+",
"com.hazelcast" % "hazelcast" % "3.5",
"com.hazelcast" % "hazelcast-client" % "3.5",
"com.twitter" % "chill-bijection_2.11" % "0.7.0"
//,"com.codahale" % "jerkson_2.9.1" % "0.5.0"
)
这里是子项目的构建文件mySubProject
name := """mySubProject"""
version := "1.0-SNAPSHOT"
scalaVersion := "2.11.1"
libraryDependencies ++= Seq("org.scalatest" %% "scalatest" % "2.2.1" % "test"withSources() withJavadoc(),
"org.slf4j" % "slf4j-api" % "1.6.4",
"org.elasticsearch" % "elasticsearch" % "1.6.0",
"org.codehaus.groovy" % "groovy-all" % "2.4.0",
"org.apache.lucene" % "lucene-expressions" % "4.10.4",
"org.easymock" % "easymock" % "3.1" withSources() withJavadoc(),
"org.mockito" % "mockito-all" % "1.9.5",
"com.typesafe.akka" %% "akka-actor" % "2.3.6",
"ch.qos.logback" % "logback-core" % "1.0.9",
"com.github.nscala-time" %% "nscala-time" % "2.0.0",
"net.liftweb" %% "lift-json" % "2.6+",
"net.liftweb" %% "lift-json" % "2.6+")
这是代码
在我的父项目myParentProject 中,我创建了一个名为 app/myPackagae/abc.scala 的类,这是代码
package myPackagae
import mySubProject._
class abc {
def helloAbc()={
println(" i am root project and i am class abc ")
}
val test=new Testing
test.helloTesting()
}
在mySubProject 中,我在 /mySubProject/src/main/scala-2.11/mySubProject/Testing.scala 中创建了一个类
这是代码
package mySubProject
//import parentProjectPackage._
import myPackagae._ //here is an error not found: object myPackagae
class Testing {
def helloTesting() ={
println("i am a subproject or child project and i am class Testing")
}
//and here i want to access class abc and its method helloAbc() but eclipse is not importing
}
请指导我如何在子项目中导入根项目的包/类
【问题讨论】:
-
我也面临同样的要求。任何人关于我们如何在单独的子项目中使用父项目的类的任何想法。
标签: java eclipse scala playframework-2.3 sbt-0.13