注册表中缺少JAI RangeLookup操作,但在IntelliJ中工作正常

时间:2018-07-31 07:05:02

标签: maven gradle vectorization geotools jai

在以下情况下,我缺少哪个依赖项:

No OperationDescriptor is registered in the current operation registry

返回为什么要尝试通过JAI使用地理工具对图像进行矢量化?

compile group: 'org.geotools', name: 'gt-arcgrid', version: '18.4'
compile group: 'org.geotools', name: 'gt-process-raster', version: '18.4'
compile group: 'org.geotools', name: 'gt-main', version: '18.4'

https://github.com/geoHeil/vectorizePolygons包含示例代码。

编辑

从IntelliJ执行代码时,一切正常。 仅当从gradle或maven创建的胖罐执行代码时,代码才能加载某些依赖项。

即使在这里http://docs.geotools.org/stable/userguide/faq.html#how-do-i-create-an-executable-jar-for-my-geotools-app进行后续操作,也请参见:https://github.com/geoHeil/vectorizePolygons/blob/master/maven/pom.xml IntelliJ会看到一个不同的类路径,它们都可以正常工作。但是,创建胖子罐时,maven或gradle都不会报告任何问题。

Maven失败并显示另一个错误:

javax.imageio.spi.ImageReaderSpi: Provider it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReaderSpiit.geosolutions.imageio.plugins.arcgrid.spi.AsciiGridsImageReaderSpi not found

gradle在此行失败:

final RenderedOp asciiCoverage = JAI.create("ImageRead", pbjImageRead, hints);

这似乎与两个地方的图像读取有关。

编辑

enter image description here

编辑2

在修正了maven问题(更新了maven-shade-plugin)之后,现在maven还报告了JAI操作注册表中缺少的注册。

RangeLookup丢失。

0 个答案:

没有答案