2013-07-15 3 views
1

로컬 ivy 저장소 (${$HOME}/.ivy2)에 sbt로 jar 파일을 게시했습니다. 그런 다음 play config 파일을 기본 로컬 ivy repo (같은 ${$HOME}/.ivy2)를 사용하기 시작한 방식으로 변경했습니다. 그러나 놀이는 항아리를 찾지 못했고, 나는 sbt로 출판했습니다. 왜 이런 일이 일어 났는지 생각해 봅니다. Sbt publish-local 사용 이상한 repo 구조

다운로드 플레이 다른 모든 종속

내가 봤

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으로 게시,하지만 찾지 못했음을,

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 

하지만 항아리와 같은 구조를 가지고 어떻게 설정 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-local 만 일반적인 publish을 대상으로하고 있지 않습니다. 어떤 식 으로든 내가 그것을 제거하려고 노력 - 아무것도 변경됩니다.

+0

흥미 롭습니다. publish-local이 생성하는 구조가 ~/.ivy2/local/groupId/artifactId/scalaVersion/sbtVersion/version이라는 점을 제외하고는 현재 0.13.0과 동일한 문제가 있습니다. Resolver.defaultLocal로 해결할 수 없습니다. – danielpcox

+0

어 ... 신경 쓰지 마세요. 내 문제는 필자가 addSbtPlugin을 사용해야 할 때 libraryDependencies로 플러그인을 참조하려고한다는 것이었다. – danielpcox

답변

2

나는 Resolver.defaultLocal을 추가하여 목록을 재생하고 내 항아리를 찾았습니다.

resolvers := depResolvers :+ Resolver.defaultLocal 
+0

이 질문을 종료하려면이 대답을 수락 된 것으로 표시해야합니다. –