Dropwizard java8 Bundleを導入して動かすところまで。
これをやるとjava.util.Optional
とDate/Time API (JSR-310)が色々なところで使えるようになる。
pom.xml
Java8 Bundleを追加。
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<dropwizard.version>0.8.1</dropwizard.version>
<dropwizard.java8.version>0.8.0-1</dropwizard.java8.version>
</properties>
<dependency>
<groupId>io.dropwizard.modules</groupId>
<artifactId>dropwizard-java8</artifactId>
<version>${dropwizard.java8.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.modules</groupId>
<artifactId>dropwizard-java8-auth</artifactId>
<version>${dropwizard.java8.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.modules</groupId>
<artifactId>dropwizard-java8-jdbi</artifactId>
<version>${dropwizard.java8.version}</version>
</dependency>
maven-compiler-plugin
に設定をjava8にする。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
Applicationクラス
@Override
public void initialize(Bootstrap<ExampleConfiguration> bootstrap) {
//for Java8 bundle.
bootstrap.addBundle(new Java8Bundle());
...
動かしてみる
これはjava8だからといって特別なことはないけど一応。
mvn package
java -jar example.jar server example.yml
サンプル
Dropwizard+Java8ですぐに動かせる(たぶん)サンプルプロジェクトをGithubにあげておきました。
https://github.com/master-of-sugar/dropwizard-java8-example