CLOVER🍀

That was when it all began.

sbt

sbtとMavenで、実行可能JARファイルの先頭に起動スクリプトを差し込む

sbt-assemblyやMaven Shade Pluginなどで実行可能なJARファイル(java -jar xxxxx.jar)を作成することが できますが、このJARファイルの最初の方にシェルスクリプトやWindowsのバッチファイルの内容を差し込むことで、 単体のファイルとして実行することが…

IntelliJでArquillianのテストをScalaTestと合わせて使う時

ちょっとハマったので、書き残し。sbt(Scala)+ScalaTestとArquillianを一緒に使っていて、なおかつIntelliJでテストを実行する時にはScalaTestとしてではなく、JUnitとして起動すること。テストがキレイに無視されます。どうも、@RunWithアノテーションを…

pom.xmlから、Ensimeの設定ファイルを作る

このところ、Spring Bootなどで遊んでいると、Scalaを使っているにも関わらずMavenを使うような事態になります。 ※極めて、個人の趣向ですで、自分はScalaコードを書く時はEmacs+Ensime+sbtなのですが、Mavenにしてしまうとこの組み合わせが使えません。こ…

sbtでpom.xmlを作る

sbt

ちょっと気になったことがあって、調べてみたのでメモ。sbtでMavenのpom.xmlを生成するには、 > makePom というコマンドを実行すればよいそうです。Publishing(Version 0.13.5) http://www.scala-sbt.org/0.13.5/docs/Detailed-Topics/Publishing.html pom…

sbtのテスト関連のメモ

先ほど書いた、こちらのsbt版。Mavenで、「mvn test」等々とオプションのメモ http://d.hatena.ne.jp/Kazuhira/20140816/1408198453まあ、目線はちょっとMavenと違うところもありますが。とりあえず、対象のプロジェクトでsbtは起動しているものとします。ま…

Jerseyをjava -jarで動かす(sbt版)

面白そうなお題があったので、別版を求められていたのはGradleでしたが勝手にsbt版を書いてみました。Jerseyをjava -jarで動かす http://backpaper0.github.io/2014/07/21/jersey_standalone.htmlsbtでmavne-shade-pluginと同じことをするために、sbt-assemb…

xsbt-web-plugin 0.9.0でServlet&JSPプログラミング

バージョンが上がると使用するコマンドが変わる印象のあるxsbt-web-pluginですが、特にソースコードの自動反映とかを忘れがちなので、今一度まとめてみることにしました。xsbt-web-plugin https://github.com/earldouglas/xsbt-web-pluginxsbt-web-plugin 0.…

sbtでJava用のプロジェクトを作る

JavaでもGradleの名前をよく聞く昨今ですが、個人的にはGradleよりもsbtの方をよく使っているため、こちらでできてもいいよねーということで。あ、ちょっと興味があったので調べて書いていますが、どちらかといえばネタエントリに近いかも…。まあ、慣れとい…

Java 8をインストールしたら、sbtでMaxMetaspaceSizeを設定する?

sbtをマニュアルに沿って標準的な設定していると、だいたいPermanentを拡張していると思います。 SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M" java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@" Setup#M…

Scala+sbtと、JMHを合わせて使う

2014/7/6追記) sbt-jmhというsbt用のJMHプラグインができたそうなので、そちら向けのエントリを書きました。 sbt-jmhを使って、ScalaでマイクロベンチマークComments http://d.hatena.ne.jp/Kazuhira/20140706/1404641244先ほど、こんなエントリを投稿しま…

続・Infinispan Tree APIで、sbt+Scalaでビルドができない件について

6/24追記) Mavenでの動作確認と、もう少し結論を加えました昨日、sbtでもGradleでも、ScalaでInfinispanのTree APIでビルドに失敗し、しかもscalacコマンドではビルドに成功するという意味不明な状態を見ることになりました。前回のエントリ http://d.haten…

Infinispan Tree APIを使用して、sbt+Scalaでビルドできない件について

最初に書いておきます、未解決です。 Unsolved!(6/19 追記) コンパイル、通せるようになりました! http://d.hatena.ne.jp/Kazuhira/20130619/1371647811この前、InfinispanのTree APIを使おうとして、sbt+Scalaでビルドに失敗するということを書きまし…

使用しているsbtのバージョンを確認する

いつの頃からか、sbtの対話シェルを使っている時に「sbt-」で補完候補に挙がるのが > sbt- sbt-binary-version sbt-dependency sbt-plugin sbt-resolver だったので、sbtの細かいバージョンを確認する方法は?とか思ってました。候補に挙がっている「sbt-bin…

ScalaでGroovyのGrapeのようなことがやりたい

GroovyのGrapeって、便利ですよね。個人的には、Groovyを使う大きな理由のひとつだったりします。だって、お手軽だもん。 @Grab('org.apache.commons:commons-lang3:3.1') import org.apache.commons.lang3.StringUtils スクリプトに、これを書くだけで依存…

sbtでrunをforkするようにすると、readLineでハマる

昨日、Infinispanを触っていて、軽くハマったのでメモ。昨日は結局解決できなくて、別の方法を取りましたが…。例えば、こんなbuild.sbtを用意します。 name := "sbt-readline" version := "0.0.1-SNAPSHOT" scalaVersion := "2.10.1" で、こんなScalaソース…

sbtで、プロジェクト内のライブラリ依存関係を調べる

Mavenのdependency:tree的な。プラグインとかあるんだろうなーと思ってちょこっと調べたら、やっぱりありました。少し前から気付いてはいたのですが、先のInfinispan Queryを使う時に、初めて使ってみましたよ。sbt-dependency-graph https://github.com/jru…

sbtでJavaのプロジェクトを作る場合に、アーティファクト名からScalaのバージョンを省く

Twitterで流れているのを見て。自分は、このブログを書いている時はJavaでもsbtを使うことが多いですが(たまにGradle)、そういえばアーティファクト名についてはあんまり気にしてなかったですね…。だいたい、runして終了!ってパターンが多いからですか。…

sbt 0.12系でWARファイルを作る時の注意

前のエントリで、「TomcatにWARファイルをデプロイ…」なんてことを書いてましたが、xsbt-web-pluginを使うのにこれまたてこずっていたという…。う〜ん、久しぶりにこの辺りを触ると、だいたいハマりますね(笑)。今回使用した、sbtとxsbt-web-pluginのバー…

sbt 0.11.3とxsbt-web-plugin 0.2.11.1でサーブレットプログラミング

以前sbtでサーブレットプログラミングの環境構築に関するエントリを書いたのですが、xsbt-web-pluginのバージョンが0.1から0.2に変わった時にコマンドが変わったらしく、当時のエントリを参照してもうまく動かないという記述をちらほらと見かけるようになっ…

sbtの依存関係管理をIntelliJから使用する

sbtを使うのなら、依存関係の管理はsbtに任せたいところですが、IntelliJにsbtで管理しているライブラリを認識させるには、一手間必要です。やっぱり、今回も使用するのはsbt-ideaプラグインです。 https://github.com/mpeltonen/sbt-ideaでは、実際やってみ…

sbtプロジェクトをIntelliJに取り込む

今回は、sbtで管理していたプロジェクトをIntelliJに取り込む方法を紹介します。というか、sbtでIntelliJの設定ファイルを生成するプラグインを紹介します、と言った方が正しいですかね。使用するのは、このsbt-pluginです。 https://github.com/mpeltonen/s…

IntelliJでfsc、sbtを使う

Scalaでコードを書く時は、最近は滅法Emacs+sbtなことが多いのですが統合開発環境を使う時はEclipseよりもIntelliJを使うことの方が多いので、IntelliJを使った場合のfscおよびsbtを使う手順を載せておきます。…自分のメモとして。まあ、このところは仕事の…

sbtでOutOfMemoryErrorを回避する

Jettyを使ってjetty-run、jetty-stopとかprepare-webappとかを繰り返していると、そのうちPermanentを使い切ってOutOfMemoryErrorが発生します。こんな感じ。 [info] Compiling 1 Scala source to /xxxxx/hello-servlet/target/scala-2.9.0.final/classes...…

xsbt-web-pluginを使って、WARファイルを作る

前回sbtでサーブレットプログラミングにトライしたのですが、ちょっと不足がありました…。それはズバリ…package。 > package [info] Updating... [info] Done updating. [info] Compiling 1 Scala source to /xxxxx/hello-servlet/target/scala-2.9.0.final/…

sbt 0.10でサーブレットプログラミングにトライ

注意)この記事は、sbt 0.10とxsbt-web-plugin 0.1系の組み合わせです。 xsbt-web-plugin 0.2系では動作しませんので、ご注意ください。今度は、sbtでサーブレットプログラミング。その前にコマンドとか基本的なことをまとめた方がいいような気がするのです…

sbt 0.10で依存関係の管理

続いて、Mavenの時と同様、sbtで依存関係の管理をしてみましょう。今回も、スケープゴートになっていただくのは、Jakarta Commons Langでございます。では、ちょっとクラスを修正。 $ cat src/main/scala/HelloSbt.scala import org.apache.commons.lang.Str…

sbt(Simple Build Tool)0.10ことはじめ

以前から使ってはいたのですが、CentOSからUbuntuに移行した時に残念ながらsbtの設定は吹っ飛んでしまったため、いい機会なのでまとめておこうと思います。sbt(Simple Build Tool) https://github.com/harrah/xsbt/wikisbtは、Scalaのための開発ツールです…