Re: org.apache.tools.zip.ZipFile
От: Blazkowicz Россия  
Дата: 19.03.10 13:15
Оценка: 2 (1) +1
Здравствуйте, 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.
org.apache.tools.zip.ZipFile
От: Lesat Россия  
Дата: 19.03.10 12:59
Оценка:
При создании объекта ZipFile вылетает эксепшн. Какие могут быть причины? Библиотека ant.jar доступна, другие методы из неё дергаются нормально...

java.lang.IllegalAccessError: org.apache.tools.zip.ZipFile tried to access field org/apache/tools/zip/ZipOutputStream.EOCD_SIG from class
Re[2]: org.apache.tools.zip.ZipFile
От: gephestus  
Дата: 10.12.10 20:10
Оценка:
Здравствуйте, 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.