WAR归档中的Java编辑文件

Leo*_*Hui 1 java xml file-io tomcat war

我一直在论坛上阅读如何阅读/编辑档案中的文件,但仍然无法得到我的答案.主要使用getResourceAsStream,并且必须在其类路径中.

我需要做的是,使用给定的文件路径作为输入读取和更新xml文件,然后将其重新部署到Tomcat.但到目前为止,我还是无法回答如何使用给定的完整路径作为输入编辑WAR归档内的AAR文件中的xml文件.有谁可以帮助我吗?

例如,我想编辑applicationContext.xml文件:

C:/webapp.WAR

从webapp.WAR文件:

webapp.WAR/WEB-INF /服务/ myapp.AAR

来自myapp.AAR:

myapp.AAR/applicationContext.xml中

Rya*_*art 5

您无法修改任何?AR文件(WAR,JAR,EAR,AAR,...)中包含的文件.它基本上是一个zip存档,修改它的唯一方法是解压缩,进行更改,然后再将其压缩.

如果您正在尝试让正在运行的应用程序进行自我修改,那么请认识到:1)由于各种原因,许多容器都是从?AR文件的爆炸副本运行的,以及2)在动态修改文件时不太可能有任何好处.无论如何,除非您计划在更改后重新启动应用程序,或者编写大量代码来监视更改,然后以某种方式刷新应用程序.无论哪种方式,您可能最好不要尝试以编程方式进行所需的更改,而不是尝试重写正在运行的应用程序.

另一方面,如果您不是在讨论让应用程序自行修改而是更改WAR文件然后部署新版本,那就是我上面所说的.使用该jar工具爆炸它,修改展开的目录,然后再次压缩它jar.然后像新的war文件一样部署它.