Здравствуйте, Lesat, Вы писали:
L>При создании объекта ZipFile вылетает эксепшн. Какие могут быть причины? Библиотека ant.jar доступна, другие методы из неё дергаются нормально...
L>L>java.lang.IllegalAccessError: org.apache.tools.zip.ZipFile tried to access field org/apache/tools/zip/ZipOutputStream.EOCD_SIG from class
L>
У вас пакет org.apache.tools.zip находится в 2х разных jar файлах. ZipFile загружен из одного, а ZipOutputStream из другого (Скорее всего даже разными загрузчиками). В результате чего возникает проблема с доступом к protected полю. Надо избегать наличия одних и тех же классов в classpath.
При создании объекта ZipFile вылетает эксепшн. Какие могут быть причины? Библиотека ant.jar доступна, другие методы из неё дергаются нормально...
java.lang.IllegalAccessError: org.apache.tools.zip.ZipFile tried to access field org/apache/tools/zip/ZipOutputStream.EOCD_SIG from class
Здравствуйте, Blazkowicz, Вы писали:
B>Здравствуйте, Lesat, Вы писали:
L>>При создании объекта ZipFile вылетает эксепшн. Какие могут быть причины? Библиотека ant.jar доступна, другие методы из неё дергаются нормально...
L>>L>>java.lang.IllegalAccessError: org.apache.tools.zip.ZipFile tried to access field org/apache/tools/zip/ZipOutputStream.EOCD_SIG from class
L>>
B>У вас пакет org.apache.tools.zip находится в 2х разных jar файлах. ZipFile загружен из одного, а ZipOutputStream из другого (Скорее всего даже разными загрузчиками). В результате чего возникает проблема с доступом к protected полю. Надо избегать наличия одних и тех же классов в classpath.
WebSphere, например, использует свой собственный ant.jar, в котором есть ZipOutputStream, но нет ZipFile, поэтому при загрузке подключении своего ant.jar и использования ZipFile, нужно совершить одно из следующих телодвижений:
1) поменять политику загрузки приложения на ParentLast для того, чтобы библиотеки приложения имели приоритет над библиотеками WebSphere
2) поместить ваш ant.jar в (созданную вами) директорию [WebSphereHome]\lib\app