Page 1 of 1

Version Issues of 3rd Party Libs in the VisionX Directory

PostPosted: Tue Sep 25, 2018 9:39 am
by ANH
Hello,

I have a workscreen that uses an Elasticsearch storage. Therefore it is necessary to include Lucene jars in our project. I placed the necessary jars in the libs/server directory of our workspace.

Our application builds and runs fine. The Workscreen with the Elasticsearch access work fine.

When I try to start this workscreen from within the VisionX wizard (Version 5.1.8), I get an exception from Lucene that's related to version issues (java.lang.NoSuchFieldError: LUCENE_6_0_0)

The problem is: Lucene jars come with the VisionX installation too, but I need them in a newer version than the version of the libraries in the VisionX/lib directory.

I can temporarily solve the problem by deleting the Lucene jars from the VisionX/lib directory.

What can I do to resolve these version mismatches permanently?

Thank you!

Best regards,
Andreas

Re: Version Issues of 3rd Party Libs in the VisionX Director

PostPosted: Tue Sep 25, 2018 11:36 am
by Support@SIB
VisionX itself doesn't use Lucene. The JVx Online Help needs it.
Lucene 4.7.2 is bundled with Online Help and included in VisionX.

The Class loading mechanism in Java is as it is. Our dev team tried different solutions which made it possible to use custom versions of classes. Also OSGi was an option.
The current solution is a mix of all tests.

A workaround could be that you create a storage which supports 4.7.2 and 6.x - reflective switch...

Currently, it's not possible to use 6.0 in VisionX without workarounds.
But it shouldn't be a problem if you remove 4.7. As said, only online help needs lucene.

Please send an email to the product support. It should be possible to change the online help. But anyway, such problems can happen with all bundled libraries and versions.