# Flowable 6 and JUEL 2.1.2

**URL:** <https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650>\
**Category:** Flowable Engine\
**Created:** [June 15, 2017, 12:04pm UTC](https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650 "2017-06-15T12:04:02Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![alex.chabatar](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/alex.chabatar/32/3709_2.png) [@alex.chabatar](https://forum.flowable.org/u/alex.chabatar)\
**Post date:** [June 15, 2017, 12:04pm UTC](https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650/1 "2017-06-15T12:04:02Z")

</div>

Hi Team,

We are migrating from Activiti v5 to Flowable 6.

The switch to Flowable 5 was easy in TEST and PROD (we are using Nuxeo 5.6 server).  
After I did the migration to v6 (all unit tests are running fine), I tried to deploy the code to Nuxeo which is using JUEL 2.1.2 (I can not replace it as it brakes Nuxeo components), Flowable expects 2.2.7.

I see that starting from v6 JUEL has been decoupled from Flowable sources (before it was a part of it with support for method invocations and therefore it worked in our Nuxeo environment).

Is there a way to configure Flowable 6 engine to use JUEL 2.1.2 with method invocations support as it was in v5?

Thanks in advance for any hints  
Alexander

---

<div class="post-metadata">

**Author:** ![martin.grofcik](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/martin.grofcik/32/71_2.png) [@martin.grofcik](https://forum.flowable.org/u/martin.grofcik)\
**Post date:** [June 15, 2017, 1:42pm UTC](https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650/2 "2017-06-15T13:42:43Z")

</div>

Hi Alex.

Try the latest Flowable 6.1.0-SNAPSHOT. Exactly for this purpose (to support backward compatibility) flowable 6.1.0-SNAPSHOT supports direct odysseus JUEL instantiation.

Regards  
Martin

---

<div class="post-metadata">

**Author:** ![alex.chabatar](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/alex.chabatar/32/3709_2.png) [@alex.chabatar](https://forum.flowable.org/u/alex.chabatar)\
**Post date:** [June 15, 2017, 1:44pm UTC](https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650/3 "2017-06-15T13:44:50Z")

</div>

Thanks Martin, will try it.

---

<div class="post-metadata">

**Author:** ![tijs](https://avatars.discourse-cdn.com/v4/letter/t/bc79bd/32.png) [@tijs](https://forum.flowable.org/u/tijs)\
**Post date:** [June 15, 2017, 1:47pm UTC](https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650/4 "2017-06-15T13:47:57Z")

</div>

Hi Alex,

Like Martin said, we ran into this issue before and we think it’s solved on the current Github master. But it would be great if you can let us know if it works for you as well.

Thanks!

Tijs

---

<div class="post-metadata">

**Author:** ![alex.chabatar](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/alex.chabatar/32/3709_2.png) [@alex.chabatar](https://forum.flowable.org/u/alex.chabatar)\
**Post date:** [June 16, 2017, 2:10pm UTC](https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650/5 "2017-06-16T14:10:37Z")

</div>

Hi Martin, Tijs

Unfortunately, I have no success. Could you tell me the exact steps I need pls?

In our PROD we have juel-impl-2.1.2.jar, I can not remove it. Also we need to support processes created with Activiti v5, some of them are still active.

Here is my pom.xml, I tried different possibilities…

```
    <!-- Flowable (BPMN 2.0) -->
    <dependency>
        <groupId>org.flowable</groupId>
        <artifactId>flowable-spring</artifactId>
        <version>${flowable.version}</version>
        <exclusions> <-- here I try to exclude version 2.2.7 -->
            <exclusion>
                <groupId>de.odysseus.juel</groupId>
                <artifactId>juel-api</artifactId>
            </exclusion>
            <exclusion>
                <groupId>de.odysseus.juel</groupId>
                <artifactId>juel-impl</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency> <!-- and simulate having 2.1.2 in the classpath -->
        <groupId>de.odysseus.juel</groupId>
        <artifactId>juel-impl</artifactId>
        <version>2.1.2</version>
    </dependency>
    <dependency>
        <groupId>org.flowable</groupId>
        <artifactId>flowable5-spring-compatibility</artifactId>
        <version>${flowable.version}</version>
    </dependency>

```

Also I tried META-INF/services/javax.el.ExpressionFactory with content:  
de.odysseus.el.ExpressionFactoryImpl  
or  
org.activiti.engine.impl.juel.ExpressionFactoryImpl

and el.properties in calsspath with content:  
javax.el.methodInvocations=true  
javax.el.varArgs=true

Thank you  
Alexander

---

<div class="post-metadata">

**Author:** ![tijs](https://avatars.discourse-cdn.com/v4/letter/t/bc79bd/32.png) [@tijs](https://forum.flowable.org/u/tijs)\
**Post date:** [June 16, 2017, 2:14pm UTC](https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650/6 "2017-06-16T14:14:16Z")

</div>

Hi Alexander,

Did you test with the master version (6.1.0-SNAPSHOT) ?  
Can you please explain what you mean with “in our PROD we have juel-impl-2.1.2.jar”? Is it in the same WAR file? Or something different?  
Which servlet container / application server are you using?

Best regards,

Tijs

---

<div class="post-metadata">

**Author:** ![alex.chabatar](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/alex.chabatar/32/3709_2.png) [@alex.chabatar](https://forum.flowable.org/u/alex.chabatar)\
**Post date:** [June 16, 2017, 2:44pm UTC](https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650/7 "2017-06-16T14:44:45Z")

</div>

Hi Tijs,

Yes, I used 6.1.0-SNAPSHOT version.

It is Nuxeo 5.6 server. [http://cdn.nuxeo.com/nuxeo-5.6/nuxeo-cap-5.6-tomcat.zip](http://cdn.nuxeo.com/nuxeo-5.6/nuxeo-cap-5.6-tomcat.zip)  
Nuxeo is based on Tomcat and uses OSGi architecture.

We deploy a set of OSGi modules (jar without packaged dependencies) for our application.  
All OSGi modules should be placed in nuxeo-cap-5.6-tomcat\nxserver\bundles while all libraries should be in nuxeo-cap-5.6-tomcat\nxserver\lib (here we have juel-impl-2.1.2.jar which is coming with Nuxeo).

In v5 we copied all Activiti libs and deps to nuxeo-cap-5.6-tomcat\nxserver\lib. v5 does not require juel as I understand, it uses a copy of it inside in different package.

With v6 there is a dependency to juel 2.2.7. If I copy juel 2.2.7 to Nuxeo lib, I have a conflict.  
If I use juel 2.1.2 I am missing expressions with methods.

How to say Flowable not to use juel 2.2.7 but support expressions with methods like it was in v5?

Thanks  
Alexander

---

<div class="post-metadata">

**Author:** ![tijs](https://avatars.discourse-cdn.com/v4/letter/t/bc79bd/32.png) [@tijs](https://forum.flowable.org/u/tijs)\
**Post date:** [June 19, 2017, 7:34am UTC](https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650/8 "2017-06-19T07:34:11Z")

</div>

Hi Alexander,

We’ve concluded that the JUEL dependency brings in some cases where you will run into issues due to classloading, different JUEL versions etc. So we’ve included the JUEL classes in the Flowable Engine (flowable-engine-common) again, similar to how it worked in Flowable 5. Could you check with the current Github master version if it works ok for you now?

Best regards,

Tijs

---

<div class="post-metadata">

**Author:** ![alex.chabatar](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/alex.chabatar/32/3709_2.png) [@alex.chabatar](https://forum.flowable.org/u/alex.chabatar)\
**Post date:** [June 19, 2017, 10:11am UTC](https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650/9 "2017-06-19T10:11:16Z")

</div>

Thanks a lot, I see that JUEL dependency has been removed. Will check it today evening.

---

<div class="post-metadata">

**Author:** ![alex.chabatar](https://yyz1.discourse-cdn.com/flex035/user_avatar/forum.flowable.org/alex.chabatar/32/3709_2.png) [@alex.chabatar](https://forum.flowable.org/u/alex.chabatar)\
**Post date:** [June 19, 2017, 8:45pm UTC](https://forum.flowable.org/t/flowable-6-and-juel-2-1-2/650/10 "2017-06-19T20:45:56Z")

</div>

Hi Tijs, it works fine now. Thank you
