Help us understand the problem. What is going on with this article?

Windowsでsbt!@Git Bash

More than 5 years have passed since last update.

WindowsのGit Bashでsbtを使う手順のまとめ。

実行環境

  • Windows 8.1
  • Java 1.8.0_60
  • Scala 2.11.7
  • sbt 0.13.9
  • Git Bash 2.6.1.windows.1

sbt関連ファイルの修正

sbtインストールフォルダ配下の以下のファイルを編集することで、Git Bashに出力されるメッセージを日本語化することが可能。

  • conf/sbtconfig.txt
  • bin/sbt

sbtconfig.txtの編集

sbtconfig.txtに「-Dfile.encoding=UTF-8」を設定し、Java 8では不要なMaxPermSizeオプションをコメントアウトする。

sbt\conf\sbtconfig.txt
# Set the java args to high

-Dfile.encoding=UTF-8

-Xmx512M

# -XX:MaxPermSize=256m

-XX:ReservedCodeCacheSize=128m

# Set the extra SBT options

-Dsbt.log.format=true

sbtの編集

Windowsのsbtスクリプトは、sbtconfig.txtを使っていない。

sbtコマンドを実行するとコンソール上にsbtconfig.txtが見つからないというエラーが出ていると思います。

sbtconfig.txtの設定値を有効にするため、sbtファイルの以下の個所を修正する。

  • 143行目辺りのコメントアウトされたJAVA_OPTSをアンコメントする。
  • WDIR変数が宣言されていないので、「WDIR=${sbt_home}」をJAVA_OPTSの行より前に追加する。
  • JAVA_OPTS中のsbtconfig.txtのパスに「/conf」を追加する。
sbt\bin\sbt
# -- Windows behavior stub'd
WDIR=${sbt_home}
JAVA_OPTS=$(cat "$WDIR/conf/sbtconfig.txt" | sed -e 's/\r//g' -e 's/^#.*$//g' | sed ':a;N;$!ba;s/\n/ /g')

Eclipseプロジェクトを作る(sbt eclipse)

Eclipseのプロジェクトファイルを作成するsbt eclipseコマンドを実行するためには、C:\Users\ユーザ名\.sbt\0.13\plugins にplugins.sbtファイルを作成して、以下を記述しておく必要がある。

.sbtフォルダは環境変数HOMEを定義していても、ユーザフォルダ直下にできるようです。

plugins.sbt
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")

その後、Eclipseプロジェクトを作成するフォルダ配下(build.sbtファイルがあるフォルダ配下)でsbt eclipseを実行すると、Eclipseプロジェクトを作成することができる。

おまけ

文字化け解消がうまくいっているか確認したい場合は、以下のリポジトリを利用してみてください。

sora_api_client_scala_sample

うまくいくと、2015年の秋アニメ情報が取れますよ!
今期は「すべてがFになる」がおすすめです。

Sora APIについて詳しく知りたい方は以下をどうぞ!
http://qiita.com/AKB428/items/64938febfd4dcf6ea698

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away