LoginSignup
23
27

More than 5 years have passed since last update.

Seasar2でJava8対応した時の流れ

Last updated at Posted at 2016-01-23

初投稿
仕事でSeasar2のアプリをJava8にした時にハマったので、流れを含めて記事にしてみる

eclipseの設定で、プロジェクト・ファセットやコンパイラなどをJava8に

スクリーンショット 2016-01-21 23.25.30.png

Java8のコードを書いてみる

スクリーンショット 2016-01-21 23.26.21.png

mavenでwarファイルを作成する、とこんなことが起きる

[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.818 s
[INFO] Finished at: 2016-01-21T23:13:20+09:00
[INFO] Final Memory: 11M/189M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project seasar-maven: Compilation failure
[ERROR] /Users/kyuuuuuji/opt/workspace/seasar-maven/src/main/java/com/kyuuuuuji/action/IndexAction.java:[26,48] ラムダ式は-source 1.7でサポートされていません
ERROR
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

pom.xmlを見てみると…

スクリーンショット 2016-01-21 23.40.39.png
この辺がなんか古そう

更新してみる

スクリーンショット 2016-01-23 14.40.56.png

もう一回ビルド

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26.155 s
[INFO] Finished at: 2016-01-21T23:44:57+09:00
[INFO] Final Memory: 14M/205M
[INFO] ------------------------------------------------------------------------

できたっぽい?

じゃあ、ローカルで動かしてみよっと

http://localhost:8080/{プロジェクト名}
スクリーンショット 2016-01-21 23.51.43.png
お、おお?

どうやらこいつが悪いらしい

jboss:javassist:jar:3.4.ga

ならば最新にしてみよう

seasarのライブラリに依存しているjavassistを除外して
スクリーンショット 2016-01-23 15.56.06.png

最新のjavassistを新たに依存関係として追加スクリーンショット 2016-01-23 15.58.25.png

これで動かすと…

スクリーンショット 2016-01-23 16.00.57.png

できた!!

まとめ

  • 単にJava8にしただけでは動いてくれない
  • mavenでビルドしているseasar2の場合、mavenプラグイン周りが古いことがあるので要更新
  • javassistがjava8で動くバージョンになっていないため、自分で依存関係を更新してやる必要がある

以上!

23
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
27