You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by "Farr, Aaron" <Aa...@am.sony.com> on 2003/09/12 20:20:04 UTC

[merlin] xml api's

Hello.

Okay, I'm getting this:

---- report -------------------------------------------------------

Exception: org.apache.avalon.merlin.kernel.KernelException
Message: Block install failure:
file:/C:/root/home/farra/dev/tools/servers/merli
n/apps/evtpublisher-0.1.jar

Cause: org.apache.avalon.composition.model.ModelException
Message: Unable to create block from embedded descriptor
[jar:file:/C:/root/home
/farra/dev/tools/servers/merlin/apps/evtpublisher-0.1.jar!/BLOCK-INF/block.x
ml]
in the containmment model [/] due to a build related error.

Cause: org.apache.avalon.composition.model.ModelException
Message: Could not create classloader.

Cause: java.lang.IllegalArgumentException
Message: xmlParserAPIs,xercesImpl-Extension-Name
---- stack trace ---------------------------------------------------

and it looks like it's coming from some extension in a jar file.

In this block, I don't have any component which is directly dependent on
xerces, but I do have a jar file that is dependent on JAXP/SAX, ie- imports:

  org.xml.sax
  javax.xml.parsers

I've tried explicitly declaring the xerces jars (xerces, xercesImpl,
xml-apis, and all permutations) in my block.xml <classpath>, as well as
leaving them out, but all to no avail.

Any suggestions on where to start looking for this?

Also, why in Merlin /ext do we have:

xerces-2.4.0.jar
xmlParserAPIs-2.0.2.jar
xml-apis-2.0.2.jar

why the different versions?

J. Aaron Farr
  SONY ELECTRONICS
  DDP-CIM
  (724) 696-7653



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Re: [merlin] xml api's

Posted by Stephen McConnell <mc...@apache.org>.

Farr, Aaron wrote:

>Hello.
>
>Okay, I'm getting this:
>
>---- report -------------------------------------------------------
>
>Exception: org.apache.avalon.merlin.kernel.KernelException
>Message: Block install failure:
>file:/C:/root/home/farra/dev/tools/servers/merli
>n/apps/evtpublisher-0.1.jar
>
>Cause: org.apache.avalon.composition.model.ModelException
>Message: Unable to create block from embedded descriptor
>[jar:file:/C:/root/home
>/farra/dev/tools/servers/merlin/apps/evtpublisher-0.1.jar!/BLOCK-INF/block.x
>ml]
>in the containmment model [/] due to a build related error.
>
>Cause: org.apache.avalon.composition.model.ModelException
>Message: Could not create classloader.
>
>Cause: java.lang.IllegalArgumentException
>Message: xmlParserAPIs,xercesImpl-Extension-Name
>

I'm not impressed with the error report!
 
It looks like your evtpublisher-0.1.jar contains a manifest that 
includes optional jar file dependency declarations.  Can you post the 
stacktrace and the manifest evtpublisher?  I would like to figure out 
why the exception report is so obscure.

>---- stack trace ---------------------------------------------------
>
>and it looks like it's coming from some extension in a jar file.
>
>In this block, I don't have any component which is directly dependent on
>xerces, but I do have a jar file that is dependent on JAXP/SAX, ie- imports:
>
>  org.xml.sax
>  javax.xml.parsers
>

Both are covered in the /ext jar files which are included in the inital 
classloader.

>
>I've tried explicitly declaring the xerces jars (xerces, xercesImpl,
>xml-apis, and all permutations) in my block.xml <classpath>, as well as
>leaving them out, but all to no avail.
>  
>

Leaving them out should be ok - unless your running a particular version 
of the jvm (1.3.something that has a bug re. extension jar files).

Basically, Merlin bootstraps with the -Djava.ext.dirs %MERLIN_HOME%/ext 
which means that the jars in /ext are part of the classloader.  You can 
verify this by including -debug on the command line and checking the 
list of jar files that is presented.  Handling optional extensions is a 
different subject.  If you have jar files that include optional 
extension references (which appears to be true in your case), then you 
need to put these into a directory somewhere and include a <library/> 
element in your classloader definition.

http://avalon.apache.org/sandbox/merlin/meta/block/classloader/extensions.html

>Any suggestions on where to start looking for this?
>
>Also, why in Merlin /ext do we have:
>
>xerces-2.4.0.jar
>xmlParserAPIs-2.0.2.jar
>xml-apis-2.0.2.jar
>

Because the XML stuff does not exist in 1.3.

>
>why the different versions?
>

Different from what?

Cheers, Steve.

>
>J. Aaron Farr
>  SONY ELECTRONICS
>  DDP-CIM
>  (724) 696-7653
>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
>For additional commands, e-mail: dev-help@avalon.apache.org
>
>
>  
>

-- 

Stephen J. McConnell
mailto:mcconnell@apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org