1

我有以下项目结构:

myproject
  |
  +- app
  |
  +- conf
  |
  +- project
  |  |
  |  +- project
  |  |
  |  +- Build.scala (etc.)
  |
  +- modules
     |
     +- security
        |
        +- app
        |
        +- conf

这是我的构建文件中的片段:

val security = PlayProject(
    appName + "-security", appVersion, path = file("modules/security")
)

如果我尝试sbt publish使用非快照版本,sbt 将退出并出现以下错误:

sbt.ResolveException: unresolved dependency: myproject-security#myproject-security_2.9.1;123 

当然它在存储库中找不到依赖项。但是我怎样才能将子模块与主项目一起发布呢?

先感谢您。

4

2 回答 2

0

这个问题确实需要更多澄清才能正确回答。很高兴看到更多您的构建文件。

如果您的 Play 项目正在利用 SBT 子项目,则应使用根项目进行编译。看起来您可能正在为 myproject-security 在 Build.scala 中声明一个依赖项。可能是这样的:

"myproject-security" %% "myproject-security" % "123"

我不确定这是否正确,但是如果没有看到完整的构建文件就很难回答这个问题。

于 2012-08-30T21:21:40.443 回答
0

我发现我需要聚合主项目以达到预期的结果。像这样:

...

lazy val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA)
.dependsOn(security)
.aggregate(security)
于 2012-09-11T08:38:47.770 回答