From: Jan Gregor on
hi, all

i tried to use apache foundation alternative (supports encoding
parameter to resolve filenames encoding) to standard unzipping classes
located in JVM 1.4.x. classes are located in package
org.apache.tools.zip.* in ant.jar

everything works fine in tomcat, but in JRun/CF7 following message is
displayed ...

as you can guess cf also uses ant.jar, and that is probably the problem.


thanks for advice,
jan

-------------------------------------------------------------------

tried to access field org.apache.tools.zip.ZipOutputStream.EOCD_SIG from
class org.apache.tools.zip.ZipFile


java.lang.IllegalAccessError: tried to access field
org.apache.tools.zip.ZipOutputStream.EOCD_SIG from class
org.apache.tools.zip.ZipFile
at
org.apache.tools.zip.ZipFile.positionAtCentralDirectory(ZipFile.java:348)
at
org.apache.tools.zip.ZipFile.populateFromCentralDirectory(ZipFile.java:243)
at org.apache.tools.zip.ZipFile.(ZipFile.java:142)
at cz.sitewell.zip.Zipping.decompress(Zipping.java:66)
at cz.sitewell.zip.Zipping.decompress(Zipping.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at coldfusion.runtime.StructBean.invoke(StructBean.java:388)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1655)
at
cftestik2ecfm365833867.runPage(C:\JRun4\servers\cfusion\cfusion-ear\cfusion-war\testik.cfm:18)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152)
at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:343)
at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:210)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:27)
at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:50)
at
coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at coldfusion.CfmServlet.service(CfmServlet.java:105)
at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
at
jrunx.util.DynamicClassLoaderFilter.doFilter(DynamicClassLoaderFilter.java:48)
at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
at jrun.servlet.FilterChain.service(FilterChain.java:101)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at
jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259)
at
jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
From: Jan Gregor on
hello,

i found the problem but not solution yet ...
in jrun.jar is located some ancient (4years old) version of ant
without ZipFile class. That class is loaded from newer version of ant.jar.
protected fields probably work only on same jars, not packages.
because of this IllegalAccessError is throwed.

is there some elegant solution to load newer version of ant? of course
i see some workarounds such as modification of jrun.jar or package
renaming to solve this ...

jan

Jan Gregor wrote:
> hi, all
>
> i tried to use apache foundation alternative (supports encoding
> parameter to resolve filenames encoding) to standard unzipping classes
> located in JVM 1.4.x. classes are located in package
> org.apache.tools.zip.* in ant.jar
>
> everything works fine in tomcat, but in JRun/CF7 following message is
> displayed ...
>
> as you can guess cf also uses ant.jar, and that is probably the problem.
>
>
> thanks for advice,
> jan
>
> -------------------------------------------------------------------
>
> tried to access field org.apache.tools.zip.ZipOutputStream.EOCD_SIG from
> class org.apache.tools.zip.ZipFile
>
>
> java.lang.IllegalAccessError: tried to access field
> org.apache.tools.zip.ZipOutputStream.EOCD_SIG from class
> org.apache.tools.zip.ZipFile
> at
> org.apache.tools.zip.ZipFile.positionAtCentralDirectory(ZipFile.java:348)
> at
> org.apache.tools.zip.ZipFile.populateFromCentralDirectory(ZipFile.java:243)
> at org.apache.tools.zip.ZipFile.(ZipFile.java:142)
> at cz.sitewell.zip.Zipping.decompress(Zipping.java:66)
> at cz.sitewell.zip.Zipping.decompress(Zipping.java:54)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
> at java.lang.reflect.Method.invoke(Method.java:324)
> at coldfusion.runtime.StructBean.invoke(StructBean.java:388)
> at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1655)
> at
> cftestik2ecfm365833867.runPage(C:\JRun4\servers\cfusion\cfusion-ear\cfusion-war\testik.cfm:18)
>
> at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152)
> at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:343)
> at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
> at
> coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:210)
> at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
> at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:27)
> at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:50)
> at
> coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
>
> at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
> at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
> at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
> at coldfusion.CfmServlet.service(CfmServlet.java:105)
> at
> coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78)
> at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
> at
> jrunx.util.DynamicClassLoaderFilter.doFilter(DynamicClassLoaderFilter.java:48)
>
> at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
> at jrun.servlet.FilterChain.service(FilterChain.java:101)
> at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
> at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
> at
> jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:259)
> at
> jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
> at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
> at
> jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
>
> at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)