2013-02-19 53 views
1

我有一個部署獨立OSGíApache ServiceMix應用程序的項目。它擁有大量的依賴關係,並且使用Maven構建。現在我想將這個應用程序部署到JBoss AS中。我找到一個叫做jboss-as-maven-pluginorg.jboss.as.plugins)的有趣Maven插件來部署任何東西。我使用maven-bundle-pluginorg.apache.felix)來構建我的包並且工作正常,但是當我部署項目包時,部署失敗,因爲不滿足依賴關係。如何將Maven依賴關係自動部署到JBoss中作爲OSGI捆綁包?

如何自動將所有依賴關係樹與Maven目標進行綁定和部署?可能嗎?我的項目有pom.xml上聲明的幾十個依賴關係,其中一些是我工作區中的其他項目。

+0

@Lucas Tycho與此問題無關。 – 2013-02-20 09:17:58

回答

1

目前我唯一知道的解決方案是Karaf功能。您可以create a feature file out of your pom dependencies

我發現jboss似乎支持​​。這可能有助於指定運行應用程序所需的軟件包。它似乎不是OSGi子系統規範,但對於jboss來說,這可能已經有所幫助。對於OSGi規範5,有標準化的子系統規範可以提供跨容器執行此操作的標準方法。

如果jboss支持OBR(OSGi bundle repository),那麼你可以限制你必須指定的依賴關係的數量。

+0

我已經使用了JBoss子系統,但是我沒有用JBoss 7.1的問題(https://issues.jboss.org/browse/AS7-5544)顯示我的目標,請參閱我的最新評論。 Karaf本身就是一個依賴項,因爲我沒有在JBoss中擁有一個配置良好的實例。我有很多問題來實現我的目標: - ((。謝謝你,我一直在嘗試! – logoff 2013-02-20 11:53:41

+0

不是簡單地使用Karaf作爲服務器而不是JBoss嗎? – 2013-02-20 15:31:58

+0

這是一個需要將我們的應用程序部署到JBoss 。我們必須同時支持獨立的Apache ServiceMix(使用Apache Karaf)和JBoss部署。 – logoff 2013-02-22 09:47:15

0

如果您的應用程序沒有使用OSGi,您可以考慮將應用程序打包爲可在JBoss中部署的WAR。

然後,您需要使用web.xml來引導您的應用程序,例如使用Spring XML文件。

有一個駱駝例如,作爲WAR這裏:http://camel.apache.org/servlet-tomcat-example.html

+0

顯然我們的應用程序使用OSGi,這就是我們選擇Apache ServiceMix(和Apache Felix作爲OSGi)的原因 容器)。我們的應用程序包含一組OSGi軟件包和功能。 – logoff 2013-02-22 14:11:22

+0

是的,但你可以部署在OSGi容器中,不要使用任何OSGi服務,如osgi服務註冊表或其配置管理服務等。如果不使用它,你可以在非OSGi容器中部署你的應用程序。 – 2013-02-22 15:52:23

+0

我們的應用程序使用服務註冊表。實際上我們的應用程序密集使用OSGi服務。 – logoff 2013-03-04 10:18:07

0

您可以使用自動安裝插件org.apache.sling你捆

  <plugin> 
       <groupId>org.apache.sling</groupId> 
       <artifactId>maven-sling-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>install-bundle</id> 
         <goals> 
          <goal>install</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <slingUrl>http://localhost:8181/system/console/install</slingUrl> 
        <user>karaf</user> 
        <password>karaf</password> 
       </configuration> 
      </plugin> 

你可以找到從Adobe網站詳細的pom.xml:https://docs.adobe.com/docs/en/cq/5-6-1/developing/developmenttools/how-to-build-aem-projects-using-apache-maven.html

http://www.cqblueprints.com/tipsandtricks/build-and-deploy-osgi/build-deploy-osgi-1.html