cancel
Showing results for 
Search instead for 
Did you mean: 

Extending ELResolver results in compilation errors

jestersuez
Champ in-the-making
Champ in-the-making
Hello,
we currently embed activiti-engine (5.14) as the new rule engine of an administration tool. Part of the integration solution is a custom ELResolver, that is added within ExpressionManagement.createELResolver() and the corresponding CustomResolverFactory, that is added to the CustomProcessEngineConfiguration.resolverFactories. But while this works perfectly inside local eclipse environments, it produces compilation errors on our jenkins server:

[ERROR] \bpm\CustomProcessEngineConfiguration.java:[83,105] error: cannot find symbol
[ERROR] \bpm\CustomResolverFactory.java:[12,61] error: cannot access ELResolver

The cause seems to be related to the package of ELResolver - org.activiti.engine.impl.javax.el - which is not exported within the MANIFEST.MF of activiti-engine, but is only refered to by "uses"-Statements. Possibly I could fix it by manually editing the MANIFEST…but there is certainly be a better solution, right?

Thanks for any help.

Regards, Oliver
6 REPLIES 6

jbarrez
Star Contributor
Star Contributor
I assume this is in OSGI environment?
If so, I'm afraid there is no better workaround than manually editing - cause that would need to be changed in the current osgi building

jestersuez
Champ in-the-making
Champ in-the-making
No, I don't think it is an OSGi environment - at least I'm not aware of it and I don't see any mentions of OSGi, felix, karaf and the like in our pom.xmls and server environment. Does this change anything regarding another solution?

jbarrez
Star Contributor
Star Contributor
I was thinking osgi, cause you mentioned manifest and export of jars (which sounds like osgi to my untrained osgi ears).

The classes you mention are part of the activiti-engine module. So when you have this jar on your classpath, it should be OK to extend them. How do you include this jar in your maven pom.xml. Do you build your software using a regular mvn clean install/package ?

jestersuez
Champ in-the-making
Champ in-the-making
Yes, I guess manifest's "uses" and jar export is usually osgi - that's what confuses me too. But it was the only plausible hint I could find up to now.

We do use the regular "mvn clean install" with the maven core plugins. The entry in our pom.xml is:
<dependency>
   <groupId>org.activiti</groupId>
   <artifactId>actviviti-engine</artifactId>
   <version>5.14</version>
</dependency>
The dependency gets resolved and is successfully downloaded to our local mvn repository. The ELResolver class is inside the jar and under the right package. We just don't seem to be able to access it from our application.

jestersuez
Champ in-the-making
Champ in-the-making
Ah…a classic. What it couldn't access was the ELResolver in javax.el and not the one of activiti….the compilation error actually happened deeper in the stack. So there is no connection to OSGi & we could fix it by introducing an explicit dependency to the new module's pom.xml. Sorry for stealing time & thanks for your help, anyway. 🙂

jbarrez
Star Contributor
Star Contributor
Ah, indeed. Now you mention it, it comes back to me it hit me too once 🙂

No problem, glad you found it!
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.