복붙노트

[SCALA] 거기 비록 SBT는 지역 받는다는 저장소에서 파일을 찾을 수 없습니다

SCALA

거기 비록 SBT는 지역 받는다는 저장소에서 파일을 찾을 수 없습니다

내 로컬 저장소에있는 메이븐 의존성에 문제가 있어요.

SBT는 그것을 찾을 수 없습니다. 이미 디버그 로그 레벨을 설정할 수 있지만 새로운 것을 얻고 있지.

파일 저장소에 있습니다. 나는 파일 탐색기로 콘솔에서 경로를 붙여 복사하고 있습니다.

출력 :

[debug]          trying file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.pom

[debug]                 tried file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.pom

[debug]         Local Maven Repository: resource not reachable for com/twitter#naggati;2.0.0: res=file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0
.0/naggati-2.0.0.pom

[debug]          trying file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.jar

[debug]                 tried file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0.0/naggati-2.0.0.jar

[debug]         Local Maven Repository: resource not reachable for com/twitter#naggati;2.0.0: res=file://c:/Users/userz/.m2/repository/com/twitter/naggati/2.0
.0/naggati-2.0.0.jar

[debug]         Local Maven Repository: no ivy file nor artifact found for com.twitter#naggati;2.0.0

편집 : http://code.google.com/p/simple-build-tool/wiki/LibraryManagement에 설명 된 것처럼 프로젝트 / 빌드에서 스칼라 파일을 사용하여 경로를 추가

"당신이 저장소로 추가 할 경우 SBT 로컬 메이븐 저장소를 검색 할 수 있습니다"

val mavenLocal = "Local Maven Repository" at "file://"+Path.userHome+"/.m2/repository"

로컬 저장소에 그했다 SBT보세요. 그것은하지 않았다 전에.

이 같은 스칼라 파일 외모 그래서 :

import sbt._

class Foo(info: ProjectInfo) extends DefaultProject(info) {

val mavenLocal = "Local Maven Repository" at "file://c:/Users/userz/.m2/repository"

}

(나는 가능한 오류의 이유를 제외 Path.userHome를 하드 코딩.으로는 아무것도 변경하지 않은 예상).

해결법

  1. ==============================

    1.당신은 파일 후 3 슬래시가 필요합니다 지정합니다. 두 번째와 세 번째 슬래시 사이에 선택 사양 호스트 이름을 가지고 있기 때문이다. 위키 백과는 파일의 좋은 설명이 있습니다 URL의

    당신은 파일 후 3 슬래시가 필요합니다 지정합니다. 두 번째와 세 번째 슬래시 사이에 선택 사양 호스트 이름을 가지고 있기 때문이다. 위키 백과는 파일의 좋은 설명이 있습니다 URL의

    ": // 파일"+ "는 /.m2/repository"는 경로가 시작 유닉스 파일 시스템, 가정 / 더 + 포함 Path.userHome : 당신의 전형적인 패턴이 있기 때문에 문제가 없다하고, 일반적으로 공백이 없습니다 .

    비 하드 코드 경로가 해당 윈도우와 리눅스 / 유닉스에서 모두 작동, 사용 :

    "Local Maven" at Path.userHome.asFile.toURI.toURL + ".m2/repository"
    
  2. ==============================

    2.그냥 build.scala 또는 build.sbt 파일에이 줄을 추가

    그냥 build.scala 또는 build.sbt 파일에이 줄을 추가

    resolvers += Resolver.mavenLocal
    
  3. ==============================

    3.build.sbt에 다음을 추가, SBT의 새 버전 작업에 내용 :

    build.sbt에 다음을 추가, SBT의 새 버전 작업에 내용 :

    resolvers += "Local Maven Repository" at "file:///"+Path.userHome+"/.m2/repository"
    
  4. ==============================

    4.프로젝트 정의가있을 때, 당신은 설정에서 해결을 포함해야 조심. 글로벌 리졸버는 확인되지 않습니다.

    프로젝트 정의가있을 때, 당신은 설정에서 해결을 포함해야 조심. 글로벌 리졸버는 확인되지 않습니다.

    예:

    lazy val core = (project in file("core")).
      settings(commonSettings: _*).
      settings(
        resolvers += Resolver.mavenLocal,
        name := "Core",
        libraryDependencies := coreDependencies
      )
    
  5. from https://stackoverflow.com/questions/10773319/sbt-doesnt-find-file-in-local-maven-repository-although-its-there by cc-by-sa and MIT license