在下面的塞納里奧Maven的依賴特定的類
我的包裹外部 jar文件(閱讀依賴我沒有控制權),並在被暴露在RMI服務包此。
我希望我的服務接口也作爲maven依賴項導出,但它將返回依賴項中定義的類,這意味着依賴項本身將用作我的服務接口的依賴項。
不幸的是,原始的jar文件包含許多與我公開的服務無關的類。
是否有可能依賴maven中該jar文件中的幾個類(可能通過提取和重新包裝幾個相關的類)?
- uberbig_irrelevant.jar
- com.uberbig.beans < - 需要這個包或者它幾類。
- com.uberbig.everythingElse
服務項目包括所有uberbig罐子。但是暴露了一個服務BeanService,它有一個返回com.uberbig.beans.IntrestingLightWeightSerialiasbleBean的實例的調用。
服務界面的項目需要有一個bean定義,看起來像
interface BeanFetcher {
public IntrestingLightWeightSerialiasbleBean fetchBeanById(long beanId);
}
所以最好我serviceInterface等jar文件將只包括BeanFetcher接口。 IntrestingLightWeightSerialiasbleBean的定義以及IntrestingLightWeightSerialiasbleBean的任何直接依賴關係。
該項目在內部使用,不會公開顯示,因此只要重新封裝的bean定義是二進制的,並且與外部jar文件可以進行搜索匹配,就不應該重新打包問題。
有什麼建議嗎?
可能相關的問題Maven depend on project - no jar but classes
也許我可以用自相依東西:maven-dependency-plugin的副本部分,但我還沒有想出如何做到這一點。
所以將有可能使用maven重新包裝你知道嗎? – Wes 2012-02-14 12:08:12