0

修改一个文件后,我正在尝试从我的计算机部署一个.war文件

  • 我使用以下方法提取文件META-INF/context.xml

    jar xf ROOT.war META-INF/context.xml

  • 我在Context.xml文件中添加了一些代码行

  • 我使用以下命令使用修改过的 META-INF/context.xml更新war文件:

    jar uf ROOT.war META-INF/context.xml

  • 但我得到这个错误:

    at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:232)
    at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:109)
    at sun.tools.jar.Main.update(Main.java:635)
    at sun.tools.jar.Main.run(Main.java:271)
    at sun.tools.jar.Main.main(Main.java:1288)```
    
    

任何想法,请!

4

2 回答 2

0

回复:@PiotrP.Karwasz 的评论jar应该可以与战争文件一起使用。战争和罐子之间的唯一区别是它们的结构。但他是对的,您可以使用zip以及jar操作战争文件,这可以为您提供更好的结果。

提取 context.xml:

unzip ROOT.war META-INF/context.xml

使用修改后的 context.xml 更新战争:

zip ROOT.war META-INF/context.xml

此外,如果您在 Tomcat 8 上进行部署,则自 v1.8.2 起,XNAT 已默认配置为在 Tomcat 8.5/9 上运行。如果您可以从当前版本升级到最新版本(我们刚刚发布了 1.8.4),那么您无需做任何事情来让战争与 Tomcat 8.5 或 9 一起工作。

于 2022-02-23T00:06:54.073 回答
0

大家好,在我提出问题后我回到你身边,我设法用 zip部署了一场战争。还有 jar,确实我的错误是由于/lib中有两个具有相同名称的jar文件(奇怪), 我删除了这些文件,然后我只复制/粘贴了一个并且它起作用了。

使用 zip 我使用了以下步骤:

1: unzip ROOT.war META-INF/context.xml

2: zip ROOT.war META-INF/context.xml

于 2022-02-23T10:39:11.190 回答