2015-10-22 7 views
0

Просто простой вопрос программирования.ImageIO не может решить тип

import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException; 


public class ReadThePic { 
    public static void main(String[] args){ 
     BufferedImage img = null; 
     try { 
      img = ImageIO.read(new File("strawberry.jpg")); 
     } catch (IOException e) { 
     } 

    } 
} 

Ошибка: ImageIO не может быть разрешен к типу. Почему? Спасибо

import javax.imageio.ImageIO; 

ImageIO не доступен из-за ограничения на библиотеке

взыскательной
+2

Постарайся решение дано здесь: http://stackoverflow.com/questions/860187/access-restriction-on-class-due-to-restriction-on-required- library-rt-jar –

+0

Я попробовал. imageio в порядке. Теперь у меня такая же проблема для BufferedImage –

+0

Используете ли вы OSGi или какую-либо другую технологию контейнеров? Или, другими словами, что вызывает ограничение «на нужную библиотеку» *? – haraldK

ответ

2

Вы забыли импортировать класс.
Добавить import javax.imageio.ImageIO после вашего другого импорта, и он должен работать.

+0

на самом деле я этого не сделал. У меня была линия, но у меня было ограничение доступа. ImageIO недоступен из-за ограничений на требуемую библиотеку. Чем путь .... jre1.8.0_31 –

2

попробовать

  1. Перейти к настройкам Построить путь в свойствах проекта.
  2. Удалить библиотеку систем JRE
  3. Добавить обратно; Выберите «Добавить библиотеку» и выберите Системную библиотеку JRE.

или просто сделать: Windows -> Настройки -> Java -> Compiler -> Ошибки/предупреждения -> Устаревшие и ограниченный API -> Запретный ссылки (правила доступа): -> изменение предупреждения

вы могли бы найти решение здесь: Access restriction on class due to restriction on required library rt.jar?

+1

- Я считаю, что ваш «ответ» применим только к Eclipse. Вопрос касается Android Studio. – DSlomer64