2017-12-26 10 views
0

SBT 프로젝트를 오프라인 환경에서 작동시키는 가장 좋은 방법은 무엇입니까? 네트워크 환경 (예 : 네트워크 환경)에서 컴파일하는 방법은 무엇이든간에 예를 들어 uber jar를 종속품으로 모두 컴파일 한 다음 오프라인 환경에서 을 실행하면됩니까? SBT uber jar 컴파일

자바 메이븐, 예를 들어 우리는 모든 종속성, 다음 오프라인 ENV 단지 java -jar MyJar.jar ...

감사와 동네 짱 항아리를 컴파일 할 수 있습니다.

+0

, SBT는 의존성 관리를 구현하기 위해 아파치 아이비 사용하고, 처음 컴파일 할 때 .ivy2 디렉토리에 저장 한 다음 오프라인 환경에서 사용할 수 있습니다. –

+0

sbt에서 오프라인 모드의 문제점은 무엇입니까? –

답변

0

위버/지방 병을 만드는 가장 좋은 방법은 sbt assembly plugin입니다. 그럼 그냥 target/scala_$SCALA_VERSION의 모든 종속성 항아리를 만들어야합니다 sbt assembly를 실행 project/assembly.sbt

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6") 

에 다음과 같은 것을 넣어 프로젝트에 포함됩니다. (java -cp $jarfile $mainclass 반대) 당신이 java -jar 그것을 실행하려는 경우 당신은 단지에 대한 기본 클래스를 지정해야 할 수도 있습니다 : 내가 제대로 질문을 이해하지 못하는

mainClass in assembly := Some("package.mainClass") 
관련 문제