You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jakarta.apache.org by "Sebb (JIRA)" <ji...@apache.org> on 2010/05/19 16:30:58 UTC

[jira] Issue Comment Edited: (BSF-32) BSF 3.0 incompatible with JEXL2

    [ https://issues.apache.org/jira/browse/BSF-32?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12869073#action_12869073 ] 

Sebb edited comment on BSF-32 at 5/19/10 10:30 AM:
---------------------------------------------------

AFAIK, the Jexl factory provided by BSF IS optional - there's no need to include the bsf-engines jar which define the factories.

The problem stems from the SPI lookup phase - there is only one bsf-engines jar which contains all the factories.

I'm not sure it's possible to fix this without splitting the bsf-engines jar file into multiple jars, one for each language.

Maybe the best would be to drop the bsf-engines jar altogether.

People can then download only the engines that they want to appear on the classpath.

      was (Author: sebb@apache.org):
    AFAIK, the Jexl factory provided by BSF IS optional - there's no need to include the engines jar which define the factories.

The problem stems from the SPI lookup phase - AFAIK one can only have a single properties file.

I'm not sure it's possible to fix this.

  
> BSF 3.0 incompatible with JEXL2
> -------------------------------
>
>                 Key: BSF-32
>                 URL: https://issues.apache.org/jira/browse/BSF-32
>             Project: BSF
>          Issue Type: Bug
>          Components: BSF-3.x
>    Affects Versions: BSF-3.0
>            Reporter: Joerg Schaible
>            Priority: Critical
>
> BSF 3.0 has an optional dependency to Jexl 1.x and provides a ScriptEngineFactory for Jexl as service provider. Since version 2.x Jexl contains its own ScriptEngineFactory implementation. Both factories register the name "JEXL". If BSF 3.0 and Jexl 2.x are both in the classpath and the factory from BSF is found first, Jexl support fails with exceptions. Main problem is, that the factory provided by BSF is *not* optional, only the dependency. You may run into similar problems with Groovy. Version 1.7 delivers also its own factory (don't know, what the first Groovy version was with JSR 233 support). Basically it means you can either use languages that provide JSR 233 support on its own *or* you use BSF 3.x (excluding all languages that do not support this JSR directly).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@jakarta.apache.org
For additional commands, e-mail: notifications-help@jakarta.apache.org