使用 ZipOutputStream 创建的 .war 文件无法部署
我正在读取 .war 文件,将其读入 ZipInputStream 后,我编辑 web.xml 并添加 weblogic.xml - 然后将所有这些传输到 ZipOutputStream 中,我将其编写为最终的 output.war 文件。
我面临的问题是,output.war 无法在 WLS 中部署。它没有给出任何错误。它显示该Web应用程序处于活动状态,但在访问时我收到错误403。
但是如果我使用任何归档程序(例如winzip)打开.war文件,编辑web.xml和weblogic.xml,那么我就可以部署。(我所说的编辑是指,只需删除某个空间并再次保存 - 没有任何更改)。
知道为什么会发生这种情况吗?编辑并保存 xml,可能会更改格式或编码类型吗?是这个原因吗?
(使用weblogic 10.3.3)
I am reading a .war file and after reading it into a ZipInputStream , i edit the web.xml and add weblogic.xml - and then transfer all this into ZipOutputStream , which i write as the final output.war file.
The problem that i am facing is , the output.war is not deployable in WLS . Its not giving any errors. it is showing that the web app is active , but on access i get ERROR 403.
But if i open the .war file using any archiver say winzip , edit the web.xml and weblogic.xml , then i am able to deploy .(By edit i mean , just delete a space somewere and save again - no changes) .
Any idea why this could be happening ? Edit and saving the xmls , would prob change the FORMAT or ENCODING tye ? is that the reason ?
(usig weblogic 10.3.3)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
虽然您可以使用
ZipInputStream
读取 JAR,但无法使用ZipOutputStream
写入它们。您需要使用JarOutputStream
,否则您创建的将不是 JAR,而是 ZIP,并且无法部署。JAR 是带有一些额外元数据的 ZIP,因此它们可以作为 ZIP 读取,但需要使用特殊工具创建。
While you can read JARs using a
ZipInputStream
, you can't write them with aZipOutputStream
. You need to use aJarOutputStream
, otherwise what you create won't be a JAR, it'll be a ZIP, and it won't deploy.JARs are ZIPs with some extra meta-data, so they can be read as ZIPs, but need to be created with a special tool.