Файл .war, созданный с помощью ZipOutputStream, не может быть развернут - PullRequest
1 голос
/ 16 февраля 2011

Я читаю файл .war и после чтения его в ZipInputStream, я редактирую web.xml и добавляю weblogic.xml - а затем переношу все это в ZipOutputStream, который я записываю как окончательный файл output.war.

Проблема, с которой я сталкиваюсь, заключается в том, что output.war не может быть развернут в WLS. Это не дает никаких ошибок. это показывает, что веб-приложение активно, но при доступе я получаю ОШИБКУ 403.

Но если я открою файл .war с помощью любого архиватора, скажем, winzip, отредактирую web.xml и weblogic.xml, то смогу развернуть. (Под редактированием я имею в виду, просто удалите пробел где-нибудь и сохраните снова - нет изменения).

Есть идеи, почему это может происходить? Отредактируйте и сохраните xmls, возможно, вы измените тип FORMAT или ENCODING? это причина?

(usig weblogic 10.3.3)

1 Ответ

2 голосов
/ 16 февраля 2011

Хотя вы можете читать JAR-файлы, используя ZipInputStream, вы не можете записать их с помощью ZipOutputStream.Вам нужно использовать JarOutputStream, иначе то, что вы создаете, не будет JAR, это будет ZIP, и он не будет развертываться.

JAR - это ZIP с некоторыми дополнительными метаданными,поэтому их можно читать как ZIP-файлы, но их нужно создавать с помощью специального инструмента.

...