Problem with optional Compression module...

View: New views
4 Messages — Rating Filter:   Alert me  

Problem with optional Compression module...

by Andrzej Jan Taramina :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

If you enable the optional Compression Module, it won't load when Tomcat/eXist starts up (if you are using a war-based
eXist implementation running inside Tomcat) with the following error in the exist logs:

2009-11-04 11:48:46,000 [main] WARN  (XQueryContext.java [lookupModuleClass]:2816) - Module
http://exist-db.org/xquery/compression could not be initialized due to a missing dependancy (NoClassDefFoundError):
org/apache/tools/tar/TarOutputStream

Doing some digging, I found that the class TarOutputStream class is found in the ant.jar file which is not something
that is included in the war by default.

I'm not really sure we should be using ant.jar and the TarOutputStream class therein in an eXist runtime module. It
would seem very wrong to include ant.jar in a production war that way.

We could create a stripped down jar file just including the TarOutputStream and related classes and put it in
eXist/lib/optional as one approach to resolve this.

Any suggestions as to how best to fix the issue, without including the whole ant.jar in a production deployment?

--
Andrzej Taramina
Chaeron Corporation: Enterprise System Solutions
http://www.chaeron.com

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open

Re: Problem with optional Compression module...

by Adam Retter-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

We could perhaps use the Apache commons compress package instead. But
isnt Ant shipped with eXist?

2009/11/4 Andrzej Jan Taramina <andrzej@...>:

> If you enable the optional Compression Module, it won't load when Tomcat/eXist starts up (if you are using a war-based
> eXist implementation running inside Tomcat) with the following error in the exist logs:
>
> 2009-11-04 11:48:46,000 [main] WARN  (XQueryContext.java [lookupModuleClass]:2816) - Module
> http://exist-db.org/xquery/compression could not be initialized due to a missing dependancy (NoClassDefFoundError):
> org/apache/tools/tar/TarOutputStream
>
> Doing some digging, I found that the class TarOutputStream class is found in the ant.jar file which is not something
> that is included in the war by default.
>
> I'm not really sure we should be using ant.jar and the TarOutputStream class therein in an eXist runtime module. It
> would seem very wrong to include ant.jar in a production war that way.
>
> We could create a stripped down jar file just including the TarOutputStream and related classes and put it in
> eXist/lib/optional as one approach to resolve this.
>
> Any suggestions as to how best to fix the issue, without including the whole ant.jar in a production deployment?
>
> --
> Andrzej Taramina
> Chaeron Corporation: Enterprise System Solutions
> http://www.chaeron.com
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Exist-open mailing list
> Exist-open@...
> https://lists.sourceforge.net/lists/listinfo/exist-open
>



--
Adam Retter

eXist Developer
{ United Kingdom }
adam@...
irc://irc.freenode.net/existdb

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open

Re: Problem with optional Compression module...

by Dannes Wessels-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

hi,

On 4 Nov 2009, at 18:02 , Andrzej Jan Taramina wrote:

We could create a stripped down jar file just including the TarOutputStream and related classes and put it in
eXist/lib/optional as one approach to resolve this.

Any suggestions as to how best to fix the issue, without including the whole ant.jar in a production deployment?

some time ago I added a jar file for this....... now it turns out it does contain the wrong classes :-)

unzip -t ./lib/optional/commons-compress-1.0.jar | grep -i tar
    testing: org/apache/commons/compress/archivers/tar/   OK
    testing: org/apache/commons/compress/archivers/tar/TarArchiveEntry.class   OK
    testing: org/apache/commons/compress/archivers/tar/TarArchiveInputStream.class   OK
    testing: org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.class   OK
    testing: org/apache/commons/compress/archivers/tar/TarBuffer.class   OK
    testing: org/apache/commons/compress/archivers/tar/TarConstants.class   OK
    testing: org/apache/commons/compress/archivers/tar/TarUtils.class   OK


let's check wether these are compatible.....

Kind regards

Dannes

--
eXist-db Native XML Database - http://exist-db.org









------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open

Re: Problem with optional Compression module...

by Andrzej Jan Taramina :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Adam:

> We could perhaps use the Apache commons compress package instead. But
> isnt Ant shipped with eXist?

My point is that the ant jar should not have to be included in a war, for when you are deploying eXist in a container
(like Tomcat) rather than using the standalone version.

+1 on using the commons compress package instead, as it's already included in the jars.


--
Andrzej Taramina
Chaeron Corporation: Enterprise System Solutions
http://www.chaeron.com

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Exist-open mailing list
Exist-open@...
https://lists.sourceforge.net/lists/listinfo/exist-open