こんなMavenプロジェクトで構成されてます。
すべて同一のeclipseワークスペースにプロジェクトを開いています。
- oreore-framework
- ikeike-gamen
- sugoize-gamen
このときikeike-gamenとsugoize-gamenをeclipse-LibertyのAPサーバに乗せてデバックしていました。
いずれのWebアプリケーションもoreore-frameworkをjar経由(pomで指定)で利用しています。
その際のバージョンはこんな感じ。
つまりWebアプリケーションによって別バージョンを見ていました。
- ikeike-gamen <dependency> <groupId>jp.co.oreore</groupId> <artifactId>oreore-fw</artifactId> <version>0.0.1</version> </dependency>
- sugoize-gamen <dependency> <groupId>jp.co.oreore</groupId> <artifactId>oreore-fw</artifactId> <version>1.0.0</version> </dependency>
さらに開いているoreore-frameworkプロジェクトのバージョンは 0.0.1 でした。
このoreore-framework上のソースにブレークポイントを貼って
ikeike-gamenでテストすると、
通常はブレークポイントを貼ったXXX.javaファイルが開かれるのですが
XXX.classが展開されるではありませんか。
当然ブレークポイント行以外でとまります。
なんでだろうな〜、むずかしいな〜、と思っていましたが、
sugoize-gamenがjar経由で参照している同名のXXX.classが反応していました。
起動しっぱなしのLibertyにあとからWebアプリケーションだけデプロイ・アンデプロイを繰り返していたから?
結局sugoize-gamenはアンデプロイすることで
期待した行でブレークするようになりました。
むずかしいな〜。