Build org.scala stm:scala stm中存在冲突的跨版本后缀
最后,我有以下设置 C:在哪里玩 C:\apps\play-2.2.0\play C:\apps\play-2.2.0\play.bat C:>scala在哪里 C:\apps\scala\bin\scala C:\apps\scala\bin\scala.batBuild org.scala stm:scala stm中存在冲突的跨版本后缀,build,playframework,sbt,Build,Playframework,Sbt,最后,我有以下设置 C:在哪里玩 C:\apps\play-2.2.0\play C:\apps\play-2.2.0\play.bat C:>scala在哪里 C:\apps\scala\bin\scala C:\apps\scala\bin\scala.bat Scala-版本>Scala代码运行程序版本2.10.2——版权所有2002-2013,LAMP/EPFL 播放-版本> 使用Scala 2.10.2构建的play 2.2.0(运行Java 1.7.0_21) 这不是一个游戏应用程
Scala-版本>Scala代码运行程序版本2.10.2——版权所有2002-2013,LAMP/EPFL 播放-版本> 使用Scala 2.10.2构建的play 2.2.0(运行Java 1.7.0_21) 这不是一个游戏应用程序 使用
play new
在当前目录中创建新的播放应用程序,
或者转到现有应用程序并使用play
启动开发控制台
您还可以在浏览完整的文档
当我在播放提示下运行>重新加载、更新时,出现以下错误
[error] Modules were resolved with conflicting cross-version suffixes in {file:/C:/<filepat>}<appname>:
[error] org.scala-stm:scala-stm _2.10, _2.10.0
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) Conflicting cross-version suffixes in: org.scala-stm:scala-stm
[error] Total time: 7 s, completed Oct 18, 2013 1:33:41 PM
[modelingApp] $
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) sbt.ResolveException: unresolved dependency: dependencyGroupId#dependencyArtifactId_2.10;dependencyVersion: not found
[error] Total time: 8 s, completed Oct 18, 2013 1:22:18 PM
[modelingApp] $
获取以下错误
[error] Modules were resolved with conflicting cross-version suffixes in {file:/C:/<filepat>}<appname>:
[error] org.scala-stm:scala-stm _2.10, _2.10.0
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) Conflicting cross-version suffixes in: org.scala-stm:scala-stm
[error] Total time: 7 s, completed Oct 18, 2013 1:33:41 PM
[modelingApp] $
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) sbt.ResolveException: unresolved dependency: dependencyGroupId#dependencyArtifactId_2.10;dependencyVersion: not found
[error] Total time: 8 s, completed Oct 18, 2013 1:22:18 PM
[modelingApp] $
这是一个众所周知的问题: 试一试 或者,如果它是另一个依赖于播放2.1.x的库,请尝试
//replace the name and versions with that of your library
//since Scala 2.10.0 do not put the minor version into the artifact name:
//scala-stm_2.10 instead of scala-stm_2.10.0
"the lib vendor" %% "name" % "version" exclude("org.scala-stm", "scala-stm_2.10.0")
问题是,检测sbt中scala版本不匹配的唯一方法是通过此工件扩展“\u1”
这个特别的问题是,Play所依赖的scala stm版本声明它只与scala 2.10.0兼容,而您的版本则表示它可以接受2.10.x系列中的任何内容。sbt发出警告,指出这些是不同的
实际上,scala stm工件实际上是安全的,只是在发布时配置错误(我相信当时的文档错误)。因此,在这种情况下,可以安全地忽略错误。然而,总的来说,这个错误应该被认真对待。在工件上声明的不同Scala二进制版本号很可能会导致运行时错误(而不是编译时错误),从而潜入代码中
您可以使用conflictWarning
键控制此消息的记录方式。我相信如果您想完全忽略警告(不推荐,因为大多数警告都应该是合法问题),那么您可以使用以下设置:
conflictWarning := ConflictWarning.disable
另外,我相信这是这个问题的重复:我在从Play 2.1.*升级到Play 2.2.*时遇到了相同的错误。该项目包括secureSocial,它也需要更新以播放2.2
"securesocial" %% "securesocial" % "2.1.0"
到
请参见它取决于您的scala版本,例如,我使用:
"com.typesafe.akka" % "akka-remote_2.11" % "2.3.6"
对于scala 2.11.1。
您可以从中找到合适的版本 尝试将>>>“com.typesafe.play”%%“play slick”%%“0.5.0.2-SNAPSHOT”作为appDependencies添加到build.scala中,但也没有成功。请发布整个build.sbt文件。“dependencyGroupId”等只是一个不存在的库的伪名称,用于显示哪些部分需要解析依赖项,因此当然找不到它。因为它是play app,所以它没有build.sbtadded>>>(在从其他项目加载的依赖项结束时,它工作>>>)排除(“org.scala stm”,“scala-stm_2.10.0”)@Schleichardt-针对这个问题,我们有3个项目(playApp1、sbtApp1、sbtLib)。playApp1和sbtApp1的build.sbt和build.scala文件分别包含对sbtLib库的依赖。我们是否应该排除有问题的库(scala stm)在sbtLib或sbtApp1和playApp1中?同样,它是一个Play 2.1应用程序,使用这些注释迁移到Play 2.2-这不是一个非常有用的答案。尽管忽略错误可能是安全的,但指向一些具体步骤的指针可以帮助忽略错误…嗯,尝试编辑响应。禁用的方法如下:我不建议完全关闭它们,因为大多数错误都是有效的问题。
"com.typesafe.akka" % "akka-remote_2.11" % "2.3.6"