какая библиотека мне нужна, чтобы я мог получить доступ к этому com.sun.image.codec.jpeg в Java? - PullRequest
10 голосов
/ 15 января 2012

Я создаю программу для создания водяных знаков для изображений в 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

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

Ответы [ 4 ]

11 голосов
/ 15 января 2012

Взгляните сюда Ссылка

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 предложено

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

4 голосов
/ 15 января 2012

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

Узнайте, почему здесь .

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

2 голосов
/ 15 января 2012

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

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

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

0 голосов
/ 09 сентября 2015

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

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

изменить Ошибка на игнорирование / предупреждение

...