こんにちわ、みけです。
某ブログで|д゚)チラッしている方がいらっしゃったので、
Jerseyをjava -jarで動かす (Gradle編) を書くことにしました。
Jerseyはサーブレット経由でなく com.sun.net.httpserver.HttpServer や Grizzly 、Jettyで動かす事もできるのでGradle FatJar PluginなどでひとつのJARにまとめてしまえばjava -jar
で実行できるJAX-RSアプリケーションの完成です。
例えばcom.sun.net.httpserver.HttpServer
を使用するやつをdependenciesに突っ込んで、
dependencies { compile 'org.glassfish.jersey.containers:jersey-container-jdk-http:2.10.1' compile 'org.glassfish.jersey:jersey-bom:2.10.1@pom' }
Gradle FatJar Pluginを突っ込んで、
apply plugin: 'fatjar' buildscript { repositories { mavenCentral () } dependencies { classpath 'eu.appsatori:gradle-fatjar-plugin:0.2' } }
pomをexpand ZIPできないって怒られるから、ちょっと修正して
dependencies { compile 'org.glassfish.jersey.containers:jersey-container-jdk-http:2.10.1' compile 'org.glassfish.jersey:jersey-bom:2.10.1@pom' ,{ ext { fatJarExclude = true } } }
JAX-RSなコードを書いて、
省略
メインクラス書いて、
省略
gradle fatJar
でJAR作ってjava -jar hoge.jar
で動かしましょう。
ギッハブにもサンプル置いています。
standalone jarを作ることに関してはgradleはmavenに負けた感があってぐぬぬっとしている
http://t.co/6hIatSTFJf
— もちだって人らしい (@mike_neck) 2014, 7月 22