Sbt publish-local использует странную структуру репо

Я опубликовал jar с sbt в локальном репозитории ivy (${$HOME}/.ivy2). Затем я изменил файл конфигурации воспроизведения таким образом, что воспроизведение начало использовать локальное репозиторий ivy по умолчанию (тот же ${$HOME}/.ivy2). Но play не удалось найти банку, которую я опубликовал с помощью sbt. Кажется, я выяснил, почему это произошло.

все остальные зависимости, которые загружаются в игру, имеют структуру, подобную

ivy_home/cache/group_id/artifact_id/jars/artifact_id-version.jar
e.g. /home/maxim/.ivy2/cache/com.typesafe.akka/akka-actor/jars/akka-actor-2.0.1.jar

но jar, который я опубликовал с помощью sbt, находится в

ivy_home/local/group_id/artifact_id/version/jars/artifact_id.jar
e.g. /home/maxim/.ivy2/local/com.mkotolyov.test/server-core/1.1.1-SNAPSHOT/jars/server-core.jar

Я гуглил, но не нашел, как настроить sbt для публикации со структурой «по умолчанию».

мой проект в Build.scala

lazy val core = Project(
    "server-core",
    file("core"),
    settings = buildSettings ++ Seq(
      publishTo := Some(myProxyMavenRepo),
      publishMavenStyle := true,
      publishArtifact in Test := false,

      pomIncludeRepository := {
        _ => false
      },
      resolvers := depResolvers,
      unmanagedResourceDirectories in Compile <+= baseDirectory( _ / "src" ),
      libraryDependencies ++= Seq(
        config,
        sprayJson,
        scalatest,
        prettyTime,
        casbahCore, casbahCommons, casbahQuery,
        mysql, squeryl, postgresql,
        quartz
      )
    )
  )

У меня есть флаг publishMavenStyle := true, но он предназначен только для обычных publish, а не для publish-local. Как ни пробовал удалять - ничего не меняется.


person Maxim Korolyov    schedule 15.07.2013    source источник
comment
Интересный. У меня сейчас та же проблема с 0.13.0, за исключением того, что структура, которую создает publish-local, — это ~/.ivy2/local/groupId/artifactId/scalaVersion/sbtVersion/version. Resolver.defaultLocal не решает эту проблему для меня.   -  person danielpcox    schedule 04.09.2013
comment
Э... Неважно. Моя проблема заключалась в том, что я пытался сослаться на плагин с помощью libraryDependencies, когда я должен был использовать addSbtPlugin.   -  person danielpcox    schedule 04.09.2013


Ответы (1)


Я добавил Resolver.defaultLocal в список resovers, и игра нашла мою банку.

resolvers := depResolvers :+ Resolver.defaultLocal
person Maxim Korolyov    schedule 16.07.2013