【问题标题】:Difference between "play compile" and "sbt compile"“play compile”和“sbt compile”的区别
【发布时间】:2014-12-14 09:04:01
【问题描述】:

“play compile”和“sbt compile”有什么区别吗?当我使用“play compile”编译我的应用程序时,它编译得很好,但是当我使用“sbt compile”做同样的事情时,我得到了错误

sbt.ResolveException: unresolved dependency: com.abc.xyz#xyz-lib;1.0-SNAPSHOT: not found

但是,我的本地 maven 存储库 ($HOME/.m2/repository) 中提供了此依赖项。

你能帮我理解为什么我使用sbt时编译失败,sbtplay编译有什么区别?

【问题讨论】:

  • herehere
  • 此外,play框架还自定义了class loader来启用hit refresh workflow
  • 我使用的是 Play 2.2.0。这个版本的 Play 也有 Activator?
  • activator 就您的问题而言类似于play,因为它又是一个脚本。

标签: scala playframework playframework-2.0 sbt playframework-2.2


【解决方案1】:

当您使用play 命令时,您正在调用play shell 脚本或play.bat 批处理脚本。这也会从您的播放设置中提取一些配置:

也许play 命令正在拉入存储库配置。这是我得到的:

play-2.2.3/framework/project/

find . -type f -exec grep -nH -e resolver {} +
./Build.scala:49:    resolvers ++= typesafeResolvers,
./Build.scala:291:      resolvers += typesafeIvyReleases,
./RepositoryBuilder.scala:38:    resolvers <+= localRepo apply { f => Resolver.file(localRepoName, f)(Resolver.ivyStylePatterns) },
./RepositoryBuilder.scala:68:      log.debug("Module: " + mrid + " should use resolver: " + name)

但是,当您使用 sbt 时,您基本上依赖于您为应用程序设置的项目配置。

我想你的答案在哪里。

【讨论】:

    猜你喜欢
    • 2018-01-14
    • 2015-11-16
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    相关资源
    最近更新 更多