`java.lang.ClassNotFoundException:javax.media.jai.ImageLayout`错误

`java.lang.ClassNotFoundException:javax.media.jai.ImageLayout`错误,java,groovy,jai,Java,Groovy,Jai,我正在运行geoscript groovy教程代码: groovy:000> import geoscript.layer.GeoTIFF groovy:000> format = new GeoTIFF() groovy:000> raster = format.read(new File("raster.tif")) ,并得到以下错误: ERROR java.lang.NoClassDefFoundError: javax/media/jai/ImageLayout 我

我正在运行geoscript groovy教程代码:

groovy:000> import geoscript.layer.GeoTIFF
groovy:000> format = new GeoTIFF()
groovy:000> raster = format.read(new File("raster.tif"))
,并得到以下错误:

ERROR java.lang.NoClassDefFoundError:
javax/media/jai/ImageLayout
我对JAI的了解有限。我不知道这是一个一般的JDK配置问题还是groovy等的问题

我的问题是:

javax.media.jai.ImageLayout
相关的此错误的原因是什么?如何修复它? 如何验证是否确实安装了
javax.media.jai.ImageLayout

谢谢

另外,软件环境是Ubuntu 12.04,具有:

$java -version
java version "1.6.0_32"
OpenJDK Runtime Environment (IcedTea6 1.13.4) (6b32-1.13.4-4ubuntu0.12.04.2)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)

$groovy -v
Groovy Version: 1.8.6 JVM: 1.6.0_32 Vendor: Sun Microsystems Inc. OS: Linux
--更新--

我把JDK改成了oracle

$ java -version
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)
但我仍然得到以下错误:

ERROR java.lang.NoClassDefFoundError:
javax/media/jai/ImageLayout
        at org.geotools.gce.geotiff.GeoTiffFormat.getReader (GeoTiffFormat.java:287)
        at org.geotools.gce.geotiff.GeoTiffFormat$getReader.call (Unknown Source)
另外,我用于安装Oracle JDK的命令有:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer
我也有

sudo apt-get install libjai-core-java libjai-imageio-core-java

我仍然得到同样的错误。

要使用
javax.media.jai.ImageLayout
您需要一个Oracle JDK。它在OpenJDK中不存在。我不知道您正在使用的库,因此我无法告诉您是否有任何选项,例如,为图像处理注入不同的策略。切换到Oracle JDK并测试它是否适合您。

谢谢,我切换到Oracle JDK,但它仍然给出错误。请查看更新。您的系统中是否安装了jai imageio?在FedoraLinux中,包名为jai imageio coreI,我不确定。我刚刚在更新中列出了用于安装JDK的命令。
jai imageio
不是JDK安装的一部分,它必须单独安装。