使用ZipOutputStream创建的.war文件无法部署

时间:2011-02-16 08:54:24

标签: java xml weblogic-10.x zipinputstream zipoutputstream

我正在读一个.war文件并在读入ZipInputStream后,编辑web.xml并添加weblogic.xml - 然后将所有这些传输到ZipOutputStream,我将其写为最终的output.war文件。 / p>

我面临的问题是,output.war无法在WLS中部署。它没有给出任何错误。它显示Web应用程序处于活动状态,但在访问时我得到ERROR 403.

但是如果我使用任何归档器打开.war文件说winzip,编辑web.xml和weblogic.xml,然后我就可以部署了。(通过编辑我的意思是,只删除一个空间并再次保存 - 不变化)。

知道为什么会这样吗?编辑并保存xmls,是否会更改FORMAT或ENCODING tye?那是什么原因?

(usig weblogic 10.3.3)

1 个答案:

答案 0 :(得分:2)

虽然您可以使用ZipInputStream 读取 JAR,但您无法使用ZipOutputStream 它们。您需要使用JarOutputStream,否则您创建的内容将不是JAR,它将是ZIP,并且不会部署。

JAR是带有一些额外元数据的ZIP,因此它们可以作为ZIP读取,但需要使用特殊工具创建。