I am trying to use classes from my subproject(NanoKBIndex) in main play project (NanoKBWeb). The Play project "NanoKBWeb" has the following directory structure.
└── NanoKBWeb
├── NanoKBIndex
├── app
│ ├── Global.java
│ ├── controllers
│ ├── models
│ └── views
├── build.sbt
├── conf
│ ├── application.conf
│ ├── components.xml
│ ├── messages
│ ├── routes
├── logs
│ └── application.log
├── project
│ ├── build.properties
│ ├── plugins.sbt
├── public
NanoKBWeb has the following build.sbt.
name := "NanoKBWeb"
version := "1.0"
libraryDependencies ++= Seq(javaJdbc, javaEbean,
"org.springframework" % "spring-context" % "4.0.1.RELEASE",
"org.apache.lucene" % "lucene-core" % "3.5.0",
"org.apache.lucene" % "lucene-facet" % "3.5.0",
"org.apache.lucene" % "lucene-queryparser" % "3.5.0",
"org.json" % "json" % "20140107"
)
playJavaSettings
lazy val NanoKBIndex = project.in( file("NanoKBIndex") )
lazy val NanoKBWeb = project.in(file("."))
.aggregate(NanoKBIndex)
.dependsOn(NanoKBIndex)
"NanoKBIndex" has the following directory structure.
├── data
├── lib
├── build.sbt
├── src
│ ├── br
│ │ └── com
│ │ └── caelum
│ │ └── vraptor
│ │ └── blank
│ └── org
│ └── nanokb
│ ├── api
│ ├── common
│ ├── index
│ ├── integration
│ ├── interpreter
│ ├── object
│ ├── search
│ └── test
NanoKBIndex has the following build.sbt.
name := "NanoKBIndex"
version:= "1.0"
libraryDependencies ++= Seq("org.json" % "json" % "20140107",
"edu.stanford.nlp" % "stanford-corenlp" % "3.3.1",
"edu.stanford.nlp" % "stanford-parser" % "3.3.1",
"br.com.caelum" % "vraptor" % "3.5.3"
)
The play project(NanoKBWeb) uses many classes from the sub project (NanoKBIndex). When I run "play compile" for NanoKBWeb, it gives error on all classes from the NanoKBIndex.
[info] Loading project definition from /Users/test/NanoKBWeb/project
[info] Set current project to NanoKBWeb (in build file:/Users/test/NanoKBWeb/)
[info] Compiling 10 Scala sources and 13 Java sources to /Users/test/NanoKBWeb/target/scala-2.10/classes...
[error] /Users/test/NanoKBWeb/app/controllers/Application.java:19: error: package org.nanokb.object does not exist
[error] import org.nanokb.object.NanoPubProvenance;
[error] ^
[error] /Users/test/NanoKBWeb/app/service/NanoPublicationService.java:30: error: package org.nanokb.api does not exist
[error] import org.nanokb.api.KBInputManager;
[error] ^
[error] /Users/test/NanoKBWeb/app/service/NanoPublicationService.java:31: error: package org.nanokb.api does not exist
[error] import org.nanokb.api.KBQueryEngine;
[error] ^
[error] /Users/test/NanoKBWeb/app/service/NanoPublicationService.java:32: error: package org.nanokb.object does not exist
[error] import org.nanokb.object.Entity;
[error] ^
[error] /Users/test/NanoKBWeb/app/service/NanoPublicationService.java:33: error: package org.nanokb.object does not exist
[error] import org.nanokb.object.NanoPub;
Can someone please guide on what I am missing here?
├── src
├── main
├── scala
├── br
│ └── com
│ └── caelum
│ └── vraptor
│ └── blank
└── org
└── nanokb
├── api
├── common
├── index
├── integration
├── interpreter
├── object
├── search
└── test
You need SBT project structure http://www.scala-sbt.org/release/docs/Getting-Started/Directories.html#source-code