繁体   English   中英

为什么sbt为什么坚持使用0.1-SNAPSHOT作为项目版本?

[英]Why does sbt insist on using 0.1-SNAPSHOT for project version?

我正在使用IDEA 13.1.5 Ultimate Edition和sbt 0.13.5(每个Play Activator默认配置),这是我当前的build.sbt

name := """my-first-app"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file("."))
  .enablePlugins(PlayJava)
  .aggregate(myLibrary)
  .dependsOn(myLibrary)

lazy val myLibrary = (project in file("myLibrary"))
  .enablePlugins(PlayJava)

scalaVersion := "2.11.1"

libraryDependencies ++= Seq(
  javaJdbc,
  javaEbean,
  cache,
  javaWs
)

libraryDependencies ++= Seq(
  "net.sf.jsefa" % "jsefa" % "1.1.1.RELEASE"
)

我看到两个问题:

1)sbt出于某种原因试图解析错误的myLibrary项目版本-出于某种原因其试图解析0.1-SNAPSHOT而不是1.0-SNAPSHOT版本(这是我所期望的); 例如, sbt update返回以下内容:

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: mylibrary#mylibrary_2.11;0.1-SNAPSHOT: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[trace] Stack trace suppressed: run 'last root/*:update' for the full output.
[error] (root/*:update) sbt.ResolveException: unresolved dependency: mylibrary#mylibrary_2.11;0.1-SNAPSHOT: not found

我不明白为什么-我已经对本地.ivy存储.ivy ,本地.m2存储.ivy ,整个项目目录进行了全文搜索,手动清除了所有文件,使IDEA缓存无效+重新启动了IDE,但我仍然无法在target/文件夹中找不到对包含0.1-SNAPSHOT的文件的任何引用,这显然意味着某人正在提供此信息,但我无法确定那是什么。

我也尝试过activator clean ,然后手动删除target/文件夹,但是我根本看不到这些信息从何而来。

2)在创建的lazy val myLibrary = project符合build.sbt并刷新IDEA项目,我希望IDE在创建SBT传统的目录结构myLibrary项目文件夹,但是,它什么都不做。 当然,必须有一种方法可以创建此默认目录结构,而不是由我手动创建结构吗?

我在这里想念什么?

您只指定了根版本的版本,而不是您的库。 如果未指定,则0.1-SNAPSHOT是sbt的默认版本。

你要么必须创建一个build.sbtmyLibrary那里,指定版本,或者如果你想使用一个单一的全球版本号,您可以使用version in ThisBuild := "1.0-SNAPSHOT"

IntelliJ提供了一个选项,可以自动创建丢失的文件夹,转到“首选项”,搜索sbt并选中“ Create directories for empty content roots automatically

我面临着类似的问题。 子项目没有建立,并且sbt在尝试升级到Play 2.3.6和Scala 2.11.1时无法尝试定位到远程存储库。 早期版本的Play 2.2和Scala 2.10一切正常。 现在我通过把

scalaVersion in ThisBuild := "2.11.1" 

在根目录或main build.sbt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM