読者です 読者をやめる 読者になる 読者になる

文系プログラマによるTIPSブログ

文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。

javaのビルドをgradleで行う:調査編4:Groovy Librariesの罠

ビルド java gradle

Dolteng等でプロジェクトを生成した後に、
Configure -> Convert to Gradle Project
としてGradleプロジェクトにした時の罠を紹介。

Gradleプロジェクトに変換した時に、以下がビルドパスに追加されます。

  • Groovy DSL Support
  • Groovy Libraries
  • Gradle DSLD support

この中で問題児がいます。
それは・・・

Groovy Libraries、君ですよ!!

君は危ないものを持ってないか?ん??
君が依存している「servlet-api-2.4.jar」、これは何かね?

そうです。こいつは問題です。
既にservlet-api.jarが有るということは、
別途Server Runtimeでtomcatを追加したり、
Gradleのdependenciesでtomcat-servlet-apiを追加した場合、当然競合します。
競合すると、例えばseasarの場合はweb.xmlに書いてあるFilter系は、
tomcat起動時に全てClassCastExceptionが発生します。

これはtomat以外のservletコンテナであっても同様の現象が発生するので、
必要が無ければGroovy Libraiesをビルドパスから外す等をした方がいいかと思います。



javaのビルドをgradleで行う:調査編1:maven・SBTとの違い - treeのメモ帳
javaのビルドをgradleで行う:調査編2:依存から1行で特定jarを除外! - treeのメモ帳
javaのビルドをgradleで行う:調査編3:seasar系の依存の注意点 - treeのメモ帳
javaのビルドをgradleで行う:調査編4:Groovy Librariesの罠 - treeのメモ帳


javaのビルドをgradleで行う:実践編1:jsとcssのcombineとminify - treeのメモ帳
javaのビルドをgradleで行う:実践編2:静的ファイルの圧縮 - treeのメモ帳
javaのビルドをgradleで行う:実践編3:jspの文字列置換(ReplaceTokens) - treeのメモ帳
javaのビルドをgradleで行う:実践編4:あれどうやるの?の疑問と自己解決 - treeのメモ帳
javaのビルドをgradleで行う:実践編5:マルチプロジェクト時のprovidedCompileについて - treeのメモ帳
javaのビルドをgradleで行う:実践編6:高速に実用的な実行可能jarを生成する - treeのメモ帳
Building and Testing With Gradle

Building and Testing With Gradle


Gradle Effective Implementation Guide

Gradle Effective Implementation Guide