【问题标题】:sbt playframework publish submodulessbt playframework 发布子模块
【发布时间】:2012-09-11 16:38:47
【问题描述】:

我的项目结构如下:

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

这是我的构建文件中的 sn-p:

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 

当然它在存储库中找不到依赖项。但是如何将子模块与主项目一起发布?

提前谢谢你。

【问题讨论】:

    标签: playframework-2.0 sbt


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 对不起。我很久没上网了。感谢您的回答。我自己发现了。我的答案似乎正确吗?
    【解决方案2】:

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

    ...
    
    lazy val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA)
    .dependsOn(security)
    .aggregate(security)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-08
      • 2016-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-29
      相关资源
      最近更新 更多