WARファイル内にあるクラスを参照するための pom.xml の記述例。
スポンサーリンク
pom.xml の dependency タグを使って、WARファイルにクラスパスを通すのは無理っぽいので、WARファイルをビルドする時、JARファイルもビルドするようにして、それにクラスパスを通すようにした。
まず、参照される側のモジュールは、plugin ノードの attachClasses タグの値を true にすると、WARファイルをビルドする時、ついでにJARファイルがビルドされる。
com.zeonic
maven-war-plugin
1.0.0
gelgoog
true
上の例だと、WARファイル名が gelgoog-1.0.0.war、JARファイル名が gelgoog-1.0.0-classes.jar となる。
一方、参照する側のモジュールは、dependency ノード内の classifier タグの値を classes にすると、JARファイルにクラスパスが通る。
com.zeonic
gelgoog
1.0.0
classes
jar
尤も、ここでは双方のモジュールを自分達でビルドしており、WARファイルが外部のモジュールである場合、この方法は採用できないように思う。
参考資料:
- Re: How to include WAR dependency in project
- include - Maven: Combine web projects - Stack Overflow
- Eclipse Community Forums: IAM (Eclipse Integration for Apache Maven) » classifier dependency not working?
- java - Maven WAR dependency - cannot resolve package? - Stack Overflow