2016-07-15 30 views
0

我使用wsadmin工具安裝應用程序(.war文件),我使用選項爲什麼.ear和.war文件夾是爲WebSphere上已安裝的應用程序創建的?

-installed.ear.destination,[目標文件夾]

到目標文件夾中安裝的應用程序。

但在安裝應用程序後,我的網頁內容的最終文件夾結構是這樣

[目標文件夾] /testapp.ear/testapp.war/ [我的內容]

爲什麼.ear和.war文件夾被創建,我如何安裝應用程序以使[我的內容]出現在[目標文件夾]中?

+0

EAR中只包含WAR文件。鑑於WebSphere爲所有應用程序維護EAR文件結構,因此不太可能讓[我的內容]出現在[目標文件夾]中。 – Haxiel

回答

5

WebSphere Application Server的傳統只運行耳朵文件。因此,當您通過管理控制檯或wsadmin安裝.war文件時,它會將其封裝在ear文件中,以便在運行時處理它。

0

即應用部署的架構的IBM WebSphere Application Server的一部分。

由於應用程序部署的一部分,應用服務器中,便於運行應用程序的結構放在應用程序文件。這意味着可以輕鬆訪問所有模塊,並且意味着可以輕鬆訪問Web模塊中的文件。

對於EJB JAR文件,文件結構中沒有額外的分層:EJB JAR文件的所有元素都可以通過Java提供的JAR/ZIP API訪問。需要解壓縮應用程序的每個EJB JAR文件,但不需要解壓縮EJB JAR文件中的元素。

在WAR文件的情況下,存在的JAR文件的WEB-INF/lib文件夾內的附加層次感。訪問這些Web模塊庫JAR需要將JAR文件作爲公開文件進行放置。

而且,WAR文件中的某些資源被暴露於來自不是設置來處理JAR文件的代碼區域的方便連接設置的文件中。最重要的是,JSP文件在磁盤上公開,以便JSP編譯器可以輕鬆訪問它們。

最終的結果是,部署的應用程序的文件擴展應用結構的兩層:EAR文件本身被擴大,和耳內WAR文件展開。 JAR類型文件(EJB JAR,應用程序庫JAR,應用程序客戶機JAR以及封裝在EAR中但不包含在應用程序庫文件夾中的簡單實用程序JAR)未擴展。

有建立一個更復雜的API,用於訪問嵌套歸檔文件的可能性(在JAR文件中的JAR文件,或者,或多或少是相同的,ZIP文件內ZIP文件),它把一個應用程序作爲嵌套內容的文件系統的擴展。這種策略有兩個問題。要麼嵌套存檔必須按需擴展到臨時位置,要麼嵌套存檔必須以非壓縮格式存儲在嵌套存檔中。這兩個步驟是必需的,因爲ZIP文件格式不支持查找存儲在其他存檔內的存檔,其中存檔允許在嵌套存檔上使用壓縮。由於執行了兩個級別的壓縮,因此可以在嵌套存檔上進行查找,而無需除去嵌套存檔上的級別壓縮。

可以設置工具來防止存儲嵌套存檔時的壓縮,但這通常不會完成。而且,存檔通常具有足夠的規律性,即在存儲嵌套存檔時,默認的ZIP存儲算法會自動使用壓縮。最常見的情況是爲具有兩級壓縮的部署提供嵌套存檔。

托馬斯Bitonti,IBM應用服務器開發

0

下不建議本身:

Rename the target application to the target folder name. 
Set the target folder name to the parent of the target folder. 

例如:

Original target folder: /appsDir/appContent 
Original application name: testapp.ear 

Modified target folder: /appsDir 
Modified application name: appContent.ear 

這將讓你更接近,雖然仍有在應用程序存檔上發出文件擴展名。

Thomas Bitonti

相關問題