2014-10-31 45 views
5

我現在正面臨着這個特殊問題,我真的不知道是否有可能以某種方式實現這一點。但這裏的情況:JBoss - 如何設置部署運行時名稱(不是使用CLI,而是直接來自ear/war)

我們有這個webapp(Java EE 6)它被組織成兩個模塊。一個是服務模塊,另一個是前端模塊。 comunicate通過遠程ejb,它們部署在不同的jboss服務器上(都是EAP 6.2)。 (模塊只是共享ejb接口(Service模塊實現它們),而在Frontend模塊中,實際的服務bean實現被注入(@Inject)並通過遠程JNDI定位器實例化,然後使用遠程處理)。這一切都按預期工作。

但是,當我們部署的應用程序(使用JBoss管理控制檯),我們的應用程序名稱戰爭這樣的:應用服務,1.0.war並在上傳過程中,當JBoss的問起了「「和」runtinme name「我們需要擺脫」版本「部分,因此運行時名稱將如此應用程序服務(名稱必須保持原樣,具有版本號)。但問題是這個運行時名稱總是基於部署名稱,所以我們總是需要手動刪除版本部分。 我知道可以通過CLI設置名稱,但我想知道是否也可以在部署(war/ear文件)內部進行設置,以便管理員無需更改運行時名稱當使用網絡管理控制檯時。由於

回答

4

這絕對是可能的,你只需要在文件夾WEB-INF創建一個名爲jboss-web.xml文件,內容如下:

<?xml version="1.0" ?> 
<jboss-web> 
    <context-root>/app-service</context-root> 
</jboss-web> 

包裝,部署和您的應用程序應該是在/應用服務訪問。

有關選項見https://docs.jboss.org/jbossweb/7.0.x/appdev/jbossweb.html

-1

如果你想改變戰爭 的名稱,你可以使用收縮包裝這樣的完整列表:

WebArchive wa = ShrinkWrap.create(WebArchive.class,"XXX.war") 

然後,

JBAS015859:Deploiement德「XXX.war」(運行時名稱:「XXX.war」)

相關問題