2014-10-16 3 views
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 или проблема с заводной и т.д.

Мои вопросы:

Что является причиной этой ошибки, связанные с 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 к оракулу

$ 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 

и я все еще получаю ту же ошибку.

ответ

0

Для использования javax.media.jai.ImageLayout вам нужен Oracle JDK. Его нет в OpenJDK. Я не знаю, какую библиотеку вы используете, поэтому я не могу сказать вам, есть ли какой-либо вариант, например. внедрить другую стратегию манипуляции с изображениями. Переключитесь на Oracle JDK и проверьте, работает ли он так.

+0

Спасибо, я переключился на Oracle JDK, и он все еще дает ошибку. См. Обновление. – tinlyx

+0

У вас есть jai-imageio, установленный в вашей системе? В Fedora linux пакеты называются jai-imageio-core –

+0

Я не уверен. Я только что перечислил команды, которые я использовал для установки JDK в обновлении. – tinlyx

Смежные вопросы