23
27

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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] (ラムダ式を使用可能にするには、-source 8以上を使用してください)
[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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?