忘れないうちにメモ
はじめに
Gradleを試してみためも。
Jetty+Jerseyを動かしてみる で作った maven project を Gradle で置き換えてみる。
参考にしたサイト
やってみたこと
build.gradleを書く
以下のファイルを作ってルートに置く
build.gradle
apply plugin: 'war'
apply plugin: 'jetty'
def javaVersion = 1.8
def defaultEncoding = 'UTF-8'
sourceCompatibility = javaVersion
targetCompatibility = javaVersion
repositories {
mavenCentral()
}
dependencies {
compile 'javax:javaee-api:7.0'
compile 'org.glassfish.jersey.core:jersey-server:2.13'
compile 'org.glassfish.jersey.containers:jersey-container-servlet-core:2.13'
compile 'org.eclipse.jetty:jetty-server:9.2.5.v20141112'
compile 'org.eclipse.jetty:jetty-webapp:9.2.5.v20141112'
}
compileJava {
options.encoding = defaultEncoding
}
jettyRun {
httpPort = 8080
}
task wrapper(type: Wrapper) {
gradleVersion = '2.2'
}
Gradle wrapperを作る
wrapperを作って、SCMにcommitしてしまえば、コードをPullしてきた他メンバーがいちいちGradleをInstallしなくて良くなる。
↓のコマンドを実行してwrapperを生成する。
$ gradle wrapper
↓のファイル (wrapper) が生成されるので、これらもSCMにcommitする
- gradlew
- gradlew.bat
- gradle/wrapper/
- gradle-wrapper.jar
- gradle-wrapper.properties
以降は "./gradlew" コマンドを使う。機能は "gradle" コマンドと全く同じです。
ビルドする
↓のコマンド実行で、 "(Project root)/build/libs/" に.warファイルができる。
$ ./gradlew war
Jetty上で動かしてみる
↓のコマンドだけで、Jettyが起動して、.warがデプロイされます。
$ ./gradlew jettyRun
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
> Building 75% > :jettyRun > Running at http://localhost:8080/JettyJersey
ブラウザで http://localhost:8080/JettyJersey/hello にアクセスすると、 "Hello !!" と表示されます。