我有一個多模塊Maven項目,必須有它生成的RMI存根(與不能使用動態代理的舊產品集成)。我已經配置了rmic-maven-plugin在編譯階段執行rmic,並在包階段打包存根jar。如何在maven程序集中包含rmic包jar
<execution>
<id>rmic-process-classes</id>
<goals>
<goal>rmic</goal>
</goals>
<phase>compile</phase>
<configuration>
<keep>true</keep>
<!--outputDirectory>${project.build.outputDirectory}</outputDirectory-->
<includes>
<include>com.MyImpl</include>
</includes>
</configuration>
</execution>
<execution>
<id>rmic-package</id>
<goals>
<goal>package</goal>
</goals>
<configuration>
<!--outputDirectory>${project.build.outputDirectory}</outputDirectory>
<finalName>broker-dl</finalName>
<classifier>${project.version}</classifier-->
</configuration>
</execution>
我遇到一個問題在我的「-dist」模塊,這是存在於創建分發歸檔文件的父級的子模塊創建組裝後。它不包括由rmic-package執行生成的客戶機jar。
如何配置程序集插件以包含rmic插件在程序包階段生成的jar?我嘗試在<moduleSets>
之後添加<files.
部分,但是當文件部分存在時,只有這些文件最終在我的程序集中,就好像moduleSet部分不存在一樣。
<moduleSets>
<moduleSet>
<useAllReactorProjects>true</useAllReactorProjects>
<includes>
<include>com:ImplModule</include>
</includes>
<binaries>
<unpack>false</unpack>
<fileMode>644</fileMode>
<directoryMode>755</directoryMode>
<dependencySets>
<dependencySet>
<outputDirectory>lib</outputDirectory>
</dependencySet>
</dependencySets>
</binaries>
</moduleSet>
</moduleSets>
<files>
<file>
<outputDirectory>lib</outputDirectory>
<source>../ImplModule/target/ImplModule-${project.version}-client.jar</source>
<fileMode>644</fileMode>
</file>
</files>
注意:我讀了related question但創建一個存根項目似乎是不可能的,因爲從其產生存根的RMI服務器類顯然需要是主要的應用程序JAR的一部分,而不是部分一個Stub jar,所以我沒有看到如何在一個模塊中使用RMI服務器,而在另一個模塊中使用javac。
不知道如果)我的問題是如此可怕的或無知,每個人都只是忽略了它,二)沒有人知道答案,或c)沒有人十分熟悉Maven有應對傳統RMI的應用程序。 – mwhidden