SBT로 자체 제작 라이브러리를 만들고 IntelliJ로 가져옵니다.

7175 단어 IntelliJScalasbt

자체 제작 라이브러리를 SBT 프로젝트에서 생성





프로젝트 이름을 'my-utils'로 설정했습니다.





패키지 com.example.nwtgck 만들기





com.example.nwtgck 패키지에 Utils.scala를 만듭니다.



Utils.scala
package com.example.nwtgck

/**
  * Created by nwtgck on 2016/03/05.
  */
object Utils {
  def sayHello(name: String): Unit = println(s"Hello ${name}!")
  def sayGoodbye(name: String): Unit = println(s"Goodbye ${name}!")
}




터미널을 열고 프로젝트가있는 디렉토리 (이번에는 my-utils)에 cd 한 다음 sbt publish-local


$ cd ~/IdeaProjects/my-utils/
$ sbt publish-local
# publish-localすると以下のようなものが表示されます
[info] Loading global plugins from /Users/nwtgck/.sbt/0.13/plugins/project
[info] Loading global plugins from /Users/nwtgck/.sbt/0.13/plugins
[info] Loading project definition from /Users/nwtgck/IdeaProjects/my-utils/project
[info] Set current project to my-utils (in build file:/Users/nwtgck/IdeaProjects/my-utils/)
[info] Packaging /Users/nwtgck/IdeaProjects/my-utils/target/scala-2.11/my-utils_2.11-1.0-sources.jar ...
[info] Main Scala API documentation to /Users/nwtgck/IdeaProjects/my-utils/target/scala-2.11/api...
[info] Compiling 1 Scala source to /Users/nwtgck/IdeaProjects/my-utils/target/scala-2.11/classes...
[info] Done packaging.
[info] Wrote /Users/nwtgck/IdeaProjects/my-utils/target/scala-2.11/my-utils_2.11-1.0.pom
[info] :: delivering :: default#my-utils_2.11;1.0 :: 1.0 :: release :: Sat Mar 05 15:58:10 JST 2016
[info] delivering ivy file to /Users/nwtgck/IdeaProjects/my-utils/target/scala-2.11/ivy-1.0.xml
model contains 5 documentable templates
[info] Main Scala API documentation successful.
[info] Packaging /Users/nwtgck/IdeaProjects/my-utils/target/scala-2.11/my-utils_2.11-1.0-javadoc.jar ...
[info] Done packaging.
[info] Packaging /Users/nwtgck/IdeaProjects/my-utils/target/scala-2.11/my-utils_2.11-1.0.jar ...
[info] Done packaging.
[info] published my-utils_2.11 to /Users/nwtgck/.ivy2/local/default/my-utils_2.11/1.0/poms/my-utils_2.11.pom
[info] published my-utils_2.11 to /Users/nwtgck/.ivy2/local/default/my-utils_2.11/1.0/jars/my-utils_2.11.jar
[info] published my-utils_2.11 to /Users/nwtgck/.ivy2/local/default/my-utils_2.11/1.0/srcs/my-utils_2.11-sources.jar
[info] published my-utils_2.11 to /Users/nwtgck/.ivy2/local/default/my-utils_2.11/1.0/docs/my-utils_2.11-javadoc.jar
[info] published ivy to /Users/nwtgck/.ivy2/local/default/my-utils_2.11/1.0/ivys/ivy.xml
[success] Total time: 2 s, completed 2016/03/05 15:58:12

그러면 $HOME/.ivy2/local/defaultmy-utils 디렉터리가 만들어집니다.

자작 라이브러리(my-utils)를 사용하고 싶은 프로젝트를 SBT의 프로젝트 작성해 build.sbt 에 다음을 추가합니다.


libraryDependencies ++= Seq(
  "default" %% "my-utils" % "1.0"
)



그 후에는 "my-utils"를 가져올 수 있었기 때문에import com.example.nwtgck.Utils 를 사용할 수 있게 되어 있습니다

시험에 Utils.sayHelloUtils.sayGoodbye 를 사용하면,
import com.example.nwtgck.Utils

/**
  * Created by nwtgck on 2016/03/05.
  */
object Main {
  def main(args: Array[String]) {
    Utils.sayHello("Jack")
    Utils.sayGoodbye("Jack")
  }
}



IntelliJ 콘솔에 "Hello Jack!"과 "Goodbye Jack!"이 표시되어 잘 실행되었습니다.

매우 도움이 된 곳


  • htp // d. 하테나. 네. jp/l 란란 123/20140424/1398299416
  • 좋은 웹페이지 즐겨찾기