0
我跑一个geoscript,常规教学代码:`抛出java.lang.ClassNotFoundException:javax.media.jai.ImageLayout`错误
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
是否已真正安装。
谢谢
P.S.软件环境是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
,我仍然得到同样的错误。
谢谢,我切换到Oracle JDK,它仍然给错误。请参阅更新。 – tinlyx 2014-10-16 22:53:47
你有没有在你的系统中安装jai-imageio?在Fedora linux中,软件包名为jai-imageio-core – 2014-10-17 05:29:30
我不确定。我刚刚列出了用于在更新中安装JDK的命令。 – tinlyx 2014-10-17 05:34:04