質問: Webアプリケーションを製作しています。 Eclipse4.4上でtomcat7を起動させる際、起動に成功する場合と失敗する場合があり、その原因の判断がついていません。 失敗する場合のエラーメッセージは 「名前付けコンテキストがクラスローダにバインドされていません」 で、その意味もよくわかりません。 コンソールを上にスクロールしていくと、 Unable to complete the scan for annotation for web application due to a StackIverflowError. Possible root cause include a too low setting for -Xss and illegal cyclic inheritance dependence. というメッセージもあったので、 eclipse.iniの-Xssの設定を1024Mに増やしたところ、成功する確率が約10%から約50%まで改善されました。 なお、windowsサービスにtomcatを登録して、eclipseを介さずにtomcatを起動する場合でエラーになったことはまだありません。 これは、eclipseで起動する際に余計にスタック領域が使用され、1024Mではまだ足りない場合があるということでしょうか? また名前付けコンテキストの件も意味がわかっていませんが、それもがスタック領域を大きく使っているのでしょうか? ご存知でしたら、アドバイスお願いします。
回答: 可能性があるのは、jarクラスの依存関係に問題があるときに発生しえます。 スタックトレースの中に、特定のパッケージ(ないしはクラス)の階層を出力している個所があるかと思います。 > > The class hierarchy being processed was ....... > > > の部分があった場合は、そのクラスないしはライブラリが原因で、重複した依存関係を指定しているかもしれません。 その場合はライブラリを更新するか、エラーの出ているライブラリの依存関係をビルドパスから除去するなどで対処できる場合があります。