2012-10-25 63 views
1

我想構建一個Maven EJB項目來生成EJB客戶端來公開接口。使用Maven,EJB和Eclipse

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-ejb-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
     <ejbVersion>3.1</ejbVersion> 
     <generateClient>true</generateClient> 
    </configuration> 
</plugin> 

兩個JAR都建在target但在Eclipse我有兩個實現和接口只有一個項目:

它時,我用這個在我的POM正常工作。

我想在Eclipse中創建兩個獨立的項目,一個用於接口,一個用於實現(當我們創建沒有Maven的EJB項目時,Eclipse的傳統方式)。我該怎麼做?

+0

你是如何將你的Maven項目加入Eclipse的? M2E還是你使用'mvn eclipse:eclipse',或者...? –

+0

@Duncan:我使用M2E –

回答

1

嗯,我成功地通過基於Maven的原型 - 快速入門原型,一個用於EJB實現(EJB-implement執行),一個用於EJB客戶機(EJB客戶端)在Eclipse 2個Maven項目M2E建設。

在ejb-impl中,我選擇包裝到ejb,並在我的ejb-client中選擇jar包裝。

我使用maven-ejb-plugin插件從ejb-impl生成ejb,並且不使用generateClient選項(默認值已被設置爲false)。

我使用maven-ear-plugin從ejb-impl,ejb-client和一些war模塊(jsf)生成耳朵。我使用jarModule來包含ejb-client,因此它被打包在ear文件的lib目錄下,所以無需修改清單或其他任何東西,ejb-client可以很容易地被其他模塊使用。

因此,藉助Maven,我現在可以僅使用或分發EJB的接口方法,而不是實現,並且沒有冗餘代碼。