FlexSearch / FlexLucene

IKVM Build scripts
Apache License 2.0
16 stars 5 forks source link

JTS throws exception in initialization #9

Open eladmarg opened 8 years ago

eladmarg commented 8 years ago

when trying to create a polygon shape, (using wkt) steps to reproduce:

var reader = new Org.Locationtech.Spatial4j.Io.WKTReader(JtsSpatialContext.GEO, new JtsSpatialContextFactory()); var polygon = reader.Parse("POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2, 3 2, 3 3, 2 3,2 2))");

vladnega commented 8 years ago

Thanks for submitting this issue, @eladmarg.

I investigated it and the problem is that JtsSpatialContext requires the com.vividsolutions.jts.geom.PrecisionModel class, but it can't find it. The reason it can't find it is that when we build the FlexLucene package, we are not including the Vivid Solutions JTS jar.

As this is jar is not actually part of Apache Lucene, we didn't reference it in our lib folder. The only jars that we reference atm are:

I will investigate tomorrow how/if I can include the JTS jar as well.

vladnega commented 8 years ago

I looked at the JTS library and it's under LGPL license.

@seemantr bumped into the same problem about a year ago and he explicitly excluded the JTS library from the FlexLucene package. The guys at Vivid Solutions said that IKVM brings modifications to their library, so it's in violation of the LGPL license.

Alternatives you could use are:

Hope this helps.

seemantr commented 8 years ago

I found this in the faq section of the lgpl guide

http://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynamic

According to it, it maybe alright to use it. But i am not a lawyer.

On 12 May 2016, at 10:03 am, Vladimir Negacevschi notifications@github.com wrote:

I looked at the JTS library and it's under LGPL license.

@seemantr bumped into the same problem about a year ago and he explicitly excluded the JTS library from the FlexLucene package. The guys at Vivid Solutions said that IKVM brings modifications to their library, so it's in violation of the LGPL license.

Alternatives you could use are:

build the JTS library yourself using IKVM, then load the resulting dll alongside FlexLucene. copy the JTS jar from /jars folder into /lib folder and then build FlexLucene yourself. Hope this helps.

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub