2010-11-24 185 views
4

我面臨與在Tomcat 5服務器上部署兩個應用程序有關的問題。 部署和運行服務器時,我收到一條錯誤消息,這也會阻止第二個應用程序正常運行。Tomcat /「應用程序無法部署,因爲它包含部署ID」錯誤

Unable to deploy collapsed ear in war /my-app: Exception: Application cannot be deployed as it contains deployment-ids which are in use: 

之後有一個所有重複ID的列表。第二個應用程序是一個較小的應用程序,它被添加到管理所有實體的現有應用程序中。該項目由Eclipse nad Maven構建。有沒有一種方法可以添加應該包含在第二個應用程序中的依賴關係(我現在打算這麼做),以便第二個應用程序能夠知道/使用已經存在的包?

感謝您在adnvace任何支持,

問候

回答

7

報價from the FAQ

DuplicateDeploymentIdException:

如果試圖在 部署相同的EJB兩個不同的Web應用程序,那麼 你會得到下面的異常 (在CONF/openejb.log) :

org.apache.openejb.DuplicateDeploymentIdException: 應用程序無法部署,因爲它 contai NS部署的IDS這些都是 使用:

要解決此問題,請執行以下操作:

  1. 創建一個文件的conf目錄
  2. 下名爲system.properties添加以下的system.properties文件並保存

    openejb.deploymentId.format = {的moduleId}/{ejbName}

the JIRA,此修復程序應適用於OpenEJB的3.1

0

我不知道EAR文件的這一概念是什麼,但Tomcat是不是一個完整的Java EE應用服務器。它是一個servlet/JSP引擎;它無法處理EAR。如果您正在部署EAR,或者由於某種原因您的WAR中包含EAR,則必須在Tomcat部署中添加OpenEJB之類的東西。

+0

對不起,我忘了補充,當然我們也有加入的Tomcat – redbull 2010-11-24 10:42:59

+0

OpenEJB的3.1感謝您的澄清。 – duffymo 2010-11-24 10:48:10