Какая библиотека мне нужна, поэтому я могу получить доступ к этому com.sun.image.codec.jpeg в Java?

Я создаю программу водяных знаков изображения в java, и я импортировал следующие файлы:

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

но я получаю сообщение об ошибке:

Ограничение доступа: тип JPEGCodec недоступен из-за ограничения на требуемую библиотеку C:\Program Files\Java\jre6\lib\rt.jar

Кто-нибудь знает способ решить эту проблему или какую библиотеку я должен добавить для доступа к ней и где я нахожу эту библиотеку?

Ответ 1

Посмотрите здесь Ссылка

1. Open project properties.
2. Select Java Build Path node.
3. Select Libraries tab.
4. Remove JRE System Library.
5. Add Library JRE System Library.

Как Milad предложил

Несмотря на то, что этот WILL работает, это противоречит всем рекомендованным политикам Java Runtime. Лучшая практика заключается в том, чтобы избежать использования rt.jar(или любой другой предоставленной Sun библиотеки времени выполнения, например tools.jar)

Ответ 2

Они находятся в файле rt.jar, файле jar, используемом JVM в качестве среды выполнения, и я настоятельно рекомендую вам добавить его в качестве зависимости от вашего проекта.

Смотрите, почему здесь.

Правильный способ сделать то, что вы хотите сделать, описывается здесь.

Ответ 3

Проблема заключается в том, что вы импортируете библиотеки из пакета sun.com.*. Oracle фактически не поощряет использование этих пакетов, поскольку они могут быть удалены в будущих версиях или могут быть недоступны во всех реализациях JVM.

Возможно ли, что ваша IDE (какая из них вы используете?) настроена для генерации ошибок, если вы пытаетесь импортировать библиотеки sun.com.*, в этом случае изменение конфигурации позволит вам использовать эти библиотеки, но это не будет быть хорошей идеей. Вы должны искать другие альтернативы функциональности, которую ищете, используя библиотеки без ограничений доступа.

Кроме того, если вы хотите просто прочитать или записать файл JPEG, посмотрите класс ImageIO, есть там много полезных методов.

Ответ 4

Возможно, ваша системная библиотека jre составляет 1,8

или eclipse: Свойства проектa > java-компилятоp > Ошибки/Предупреждения > Устаревший API

change Ошибка для игнорирования/предупреждения