Не удалось развернуть военный файл для tomcat8

Я пытаюсь развернуть файл .war со своего компьютера после изменения одного файла.

  • Я извлекаю файл META-INF/context.xml, используя:

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

  • Я добавил несколько строк кода в файл Context.xml

  • Я обновляю файл войны с измененным META-INF/context.xml, используя эту команду:

    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)```
    
    

Любые идеи, пожалуйста!

2 ответа

Re: комментарий от @PiotrP.Karwasz должен отлично работать с военным файлом. Единственная разница между войной и банкой заключается в их строении. Но он прав, что вы можете использовать zipа также jarманипулировать военным файлом, что может дать вам лучший результат.

Чтобы извлечь context.xml:

      unzip ROOT.war META-INF/context.xml

Чтобы обновить войну с измененным context.xml:

      zip ROOT.war META-INF/context.xml

Кроме того, если вы выполняете развертывание на Tomcat 8, XNAT по умолчанию настроен для работы на Tomcat 8.5/9, начиная с версии 1.8.2. Если вы можете обновить свою текущую версию до последней версии (мы только что выпустили 1.8.4), вам не нужно ничего делать, чтобы заставить войну работать с Tomcat 8.5 или 9.

Всем привет возвращаюсь к вам после своего вопроса, удалось развернуть вар с зипом. и jar тоже. Действительно, моя ошибка связана с тем, что в /lib есть два файла jar с одинаковым именем (странно), я удалил файлы, затем копирую/вставляю только один, и это сработало.

с zip я использовал эти шаги:

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

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

Другие вопросы по тегам