2013-06-05 118 views
1

我一直在閱讀論壇上關於如何閱讀/編輯檔案內的文件,但仍然無法得到我的答案。主要使用getResourceAsStream,並且必須在其類路徑中。WAR文檔中的Java編輯文件

我需要做的是讀取並更新xml文件,並將給定的文件路徑作爲輸入,然後將其重新部署到Tomcat。 但是到目前爲止,我還是無法得到如何編輯WAR文件中的AAR文件內的xml文件的答案,該文件包含給定的完整路徑作爲輸入。有人能幫助我嗎?

例如,我想編輯applicationContext.xml文件:

C:/webapp.WAR

從webapp.WAR文件:

webapp.WAR/WEB-INF /services/myapp.AAR

從myapp.AAR:

myapp.AAR/applicationContext.xml中

+1

選中此:https://stackoverflow.com/questions/19269961/how-to-unpackage-and-repackage-a-war-file –

+0

檢查此Url:http://www.javaworld.com/article/ 2857714 /學習的Java /操縱-罐-戰爭和 - 耳 - 上的-命令line.html – Azim

回答

5

您無法修改任何?AR文件(WAR,JAR,EAR,AAR,...)中包含的文件。它基本上是一個zip壓縮文件,修改它的唯一方法是將其解壓縮,進行更改並再次壓縮。

如果您試圖讓正在運行的應用程序自行修改,請認識到1)許多容器出於各種原因從一個?AR文件的分解副本運行,以及2)不太可能對您做任何修改無論如何,除非您計劃在更改後重新啓動應用程序,或者編寫大量代碼以監視更改並以某種方式在之後刷新應用程序,否則無論如何都會立即生成文件。無論哪種方式,你可能會更好地弄清楚如何以編程方式進行所需的更改,而不是嘗試重寫正在運行的應用程序。另一方面,如果你不是在討論讓應用程序修改它自己,而是改變一個WAR文件然後部署新版本,那就是我剛纔所說的。使用jar工具對其進行爆炸,修改展開的目錄,然後使用jar再次對其進行壓縮。然後像新的戰爭文件一樣部署它。