Open jvissers opened 2 years ago
Thank you for this PR! I am planning to take some time to prepare a CQEngine release in the next few weeks, and will include this.
That's great news! Really looking forward to it.
Gentle reminder/question: any projection on when a new version of CQEngine will be cut that fixes this issue?
I am working on CQEngine today, and hopefully will get some more time to cut a release over the holidays.
I have merged your pull request. Thank you very much! It will be included in the next release.
I will keep this issue open though until I have actually made that release.
Thanks a lot! 🎄
@npgall is there something I can help you with, to get a new release cut?
@npgall to give a bit of background. Because of this change in Hibernate https://github.com/hibernate/hibernate-orm/discussions/4975 - people that use Hibernate 6.0.1 and up cannot use cqengine. The change I made and that you merged is super simple, it would really mean a lot if a new release could be cut.
Thanks.
@npgall When do you plan to release the new version of CQEngine?
Sorry again for the delay on this. I had a new baby, which has reduced my free time! But I should have some time this week and next to work on this.
In the meantime, you should be able to work around this - or any situation where CQEngine's own dependencies conflict with other dependencies needed by the application - by using the CQEngine "shaded" jar instead of the regular jar.
The shaded jar bundles the CQEngine classes and all of CQEngine's own dependencies into a single jar. The classes from CQEngine's dependencies are then relocated to a different Java package name which is prefixed with com.googlecode.cqengine.lib
.
This will allow CQEngine to use its own version of Antlr while the application uses a different version.
Something like this in your pom.xml
should work:
<dependency>
<!-- Add a dependency on CQEngine's shaded jar instead of regular jar, and exclude all of CQEngine's transitive dependencies -->
<groupId>com.googlecode.cqengine</groupId>
<artifactId>cqengine</artifactId>
<version>x.x.x</version>
<classifier>all</classifier>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
Let me know if that works, or if you have any problems with it.
First of all: congrats on the new arrival! Hope all is well and you and your family can enjoy this time.
Second: Thanks for informing us about this possible work-around. I'll try it out as soon as possible and let you know when I get stuck.
@npgall, informing you that the suggested workaround of using shaded version of cqengine indeed works (obviously at the cost of a bigger distribution).
Thanks for the update Jan. Hoping to make a new release soon.
I'm upgrading a code base that uses cqengine to Jakarta EE 9.0. It uses Hibernate, and that uses ANTLR 4.10.1. This causes problems for CQEngine like this:
We also get warnings like this:
What can we do about this?