Файл .war, созданный с помощью ZipOutputStream, не может быть развернут

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

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

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

Любая идея, почему это может происходить? Отредактируйте и сохраните xmls, может ли измениться ФОРМАТ или КОДИРОВАНИЕ? это причина?

(используя weblogic 10.3.3)


person Tom    schedule 16.02.2011    source источник


Ответы (1)


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

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

person skaffman    schedule 16.02.2011
comment
Сначала я пытался использовать JarOutputStream. Позже я только что попробовал ZipOutputStream. Но, к сожалению, оба дали одинаковые результаты. - person Tom; 16.02.2011
comment
глупые ошибки с моей стороны, я говорю .. где-то в коде, вместо этого, если я использую file.separator, я жестко запрограммировал '/'. в linux вызывает проблемы. - person Tom; 28.04.2011