2016-11-24 179 views
0

我正在使用maven-ejb-plugin(版本2.5.1)來生成ejb-client。生成工作正常,但是當我要部署到關係將ejb客戶端部署到nexus

mvn deploy ejb:ejb 

它僅部署EJB本身: enter image description here

日誌顯示了EJB中的目標文件夾中的部署和生成EJB和客戶端

我配置了插件生成客戶端JAR,它做什麼上安裝

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-ejb-plugin</artifactId> 
      <version>2.5.1</version> 
      <configuration> 
       <ejbVersion>3.1</ejbVersion> 
       <archive> 
        <manifestEntries> 
         <Dependencies>org.infinispan export</Dependencies> 
        </manifestEntries> 
       </archive> 
       <clientIncludes> 
        <clientInclude>santam/apps/staticlookups/model/**</clientInclude> 
        <clientInclude>santam/apps/staticlookups/services/**</clientInclude> 
       </clientIncludes> 
       <generateClient>true</generateClient> 
      </configuration> 
     </plugin> 
+0

通常你不應該調用EJB的目標。它應該是通過mvn部署構建的一部分...您是否已經設置了包裝'ejb'?你有沒有配置創建一個ejb客戶端? – khmarbaise

+0

我嘗試調用了部署,並嘗試從父文件夾(而不是EJB子文件夾)運行部署,導致耳部和戰爭也部署到連接。但仍然沒有client.jar ... – Meindert

回答

0

感謝khmarbaise,您的評論讓我的思路正確地找到答案。 有兩個問題:

  1. 設置在pom.xml到EJB定義的包裝類型,包的生命週期相然後可以代替EJB的:EJB目標
  2. 插件的執行順序,您首先必須打包客戶端jar,然後部署到歸檔或安裝它。

解決方案

  1. 更新EJB POM
<project> 
    ... 
    <packaging>ejb</packaging> 
  • 默認情況下,如果你執行部署的目標,會先打包並部署(或安裝以部署到本地.m2文件夾)
  • mvn deploy