我在工作中的项目是Lift框架上的web应用程序。我们也使用xsbt web plugin。有一个“核心”项目,其中包含绝大多数的功能;我目前的目标是创建两个“分发”项目,为“核心”项目添加一组不同的类路径资源。问题是我要么1)不能让“分发”项目运行,要么2)让它们运行,但所需的资源似乎并不存在。如何在SBT中的项目之间共享资源
我已经试过
这里是我的project/Build.scala
的删节版:
lazy val core = Project("Core", file("core"))
.settings(/*some dependencies, resolvers, webSettings */)
lazy val app1 = Project("App1", file("app1"))
.aggregate(core)
.settings(/*the same settings as core */)
lazy val app2 = Project("App2", file("app2"))
.aggregate(core)
.settings(/*the same settings as core*/)
然后在两个app1
和app2
的目录结构,我有一个文件在src/main/resources/aFileINeed
。核心应用程序使用class.getResource
方法从类路径加载文件。
问题
如果我尝试运行配电工程之一,采用container:start
,它不检测在类路径中所需的文件。此外,它声称src/main/webapp
不是一个现有目录(该文件夹包含在核心项目中,因为它是xsbt Web插件所要求的)。
如何让这些项目“合并”他们的资源?我预计在Build.scala
项目定义中使用aggregate
或dependsOn
会为我处理这个问题,但它显然没有。