maven jarファイルがmaven ejbに依存として含まれています。すべてのプロジェクト構造の下に説明:maven依存関係の一部であるjarファイルから、maven ear/ejbのpom.xmlのプロパティを読み取る
1)親(レポートサービス)ののpom.xml:
<groupId>com.xxx.pdf.reports</groupId>
<artifactId>reports-parent</artifactId>
<version>2.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Reports - Parent</name>
<modules>
<module>reports-application</module>
<module>reports-service</module>
</modules>
2) pom.xml of ear(reports-application) :
<parent>
<groupId>com.xxx.pdf.reports</groupId>
<artifactId>reports-parent</artifactId>
<version>2.0.0-SNAPSHOT</version>
</parent>
<artifactId>reports-application</artifactId>
<packaging>ear</packaging>
<dependencies>
<dependency>
<groupId>com.xxx.pdf.reports</groupId>
<artifactId>reports-service</artifactId>
<version>${project.version}</version>
<type>ejb</type>
</dependency>
</dependencies>
3) pom.xml of ejb(reports-service) :
<parent>
<groupId>com.xxx.pdf.reports</groupId>
<artifactId>reports-parent</artifactId>
<version>2.0.0-SNAPSHOT</version>
</parent>
<artifactId>reports-service</artifactId>
<packaging>ejb</packaging>
<dependencies>
<dependency>
<groupId>com.xxx.common.serviceframework</groupId>
<artifactId>ServiceFramework</artifactId>
<version>1.1.0-SNAPSHOT</version>
</dependency>
.......other dependencies..........
................
4) pom.xml of jar(ServiceFramework) :
<groupId>com.xxx.common.serviceframework</groupId>
<artifactId>ServiceFramework</artifactId>
<version>1.0.0-SNAPSHOT</version>
を上述したように、レポートサービスは、レポート・アプリケーションとレポート・サービスを構築し、親POMであります。これはどちらもそのモジュールです。
reports-applicationはreports-service(ejb)を含む耳にすぎません。
reports-serviceには依存関係としてServiceFramework(jar)が含まれています。このServiceFrameworkには、情報を保存するためにデータベースに接続するコードが含まれています。このServiceFrameworkは、情報を保存するためのレポート(サービス)のようなebj(私のプロジェクトにはたくさんあります)に含めることができます。
ここで、ServiceFrameworkのJavaコードからバージョン(および他のいくつかのpom.xml情報(groupId & & artifactIdなど)のreports-serviceを取得したいとします。私はMavenリソースプラグインを使ってみました。
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
しかし、バージョンを選ぶJavaコードがServiceFramework jarにあるので、ServiceFrameworkのバージョンを私に渡します。 ServiceFramework jarを使用しているアプリケーションのバージョンが必要です。私はすべてを試しましたが、すべてのアプローチが私にServiceFrameworkのバージョンを与えます。
ServiceFrameworkは、それを依存関係として含むejbのpom情報を取得できる必要があります。だから、どうすればServiceFrameworkからレポート - サービスのPOM情報を取得/読み込むことができますか?
yes..itsがsaid..thanks @michaldoのuとして働いてほしいすべてをお読みください:) – shankar