Затмение с JSR 250 (аннотация) выдает ошибки «Ограничение доступа» - PullRequest
2 голосов
/ 09 марта 2010

Надеюсь, кто-то сталкивался с этим раньше. Я использую Spring STS 2.3.0, и при попытке использовать аннотацию @Resource из javax.annotations.Resource я получаю «Ограничение доступа: Тип Resource недоступен из-за ограничения на требуемую библиотеку». Я использую JDK 6u18.

Я пытался изменить соответствие JDK до 1,5 и 1,6, и оба приводили к одной и той же ошибке.

Ура, * 1005 Эд *

Ответы [ 6 ]

8 голосов
/ 12 октября 2010

Это сработало для меня: Изменить путь сборки проекта Eclipse (STS) | Вкладка "Библиотеки" | выберите Системную библиотеку JRE [J2SE-1.4] | Кнопка Изменить | перейдите с вкладки радио среды выполнения, в которой написано J2SE 1.4 (jdk1.6.0_21) на JRE рабочей области по умолчанию (jdk1.6.0_21).

2 голосов
/ 09 марта 2010

Если вы используете подключаемый проект вместо обычного Java-проекта, попробуйте установить

Bundle-RequiredExecutionEnvironment: JavaSE-1.6

в вашем манифесте. (И после его изменения вам может потребоваться щелкнуть правой кнопкой мыши проект и выполнить PDE Tools -> Update Classpath

0 голосов
/ 30 августа 2013

Спасибо за ваш ответ.У меня тоже получилось.

Первоначальная проблема была: Предупреждение об ограничении доступа при использовании @ Resource.

Шаги, предпринятые для решения проблемы: Путь сборки -> Настроить путь сборки-> библиотеки-> ВыбратьСистемная библиотека JRE-> Правка-> Выбрать рабочее пространство по умолчанию.

0 голосов
/ 02 марта 2012

Вы можете открыть .classpath файл и использовать

<\classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/
        org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>

вместо.

0 голосов
/ 09 марта 2010

Eclipse должен сообщить вам, с какой библиотекой (скажем, X) она имеет проблему. Нечто подобное происходит:

  • Spring STS зависит от версии V 1 библиотеки X.
  • Что-то еще также зависит от версии V 2 (где V 1 ! = V 2 ) библиотеки X.

Теперь у вас есть транзитивная зависимость от одной и той же библиотеки, но две разные версии находятся в вашем пути к классам. Это не разрешено Решение состоит в том, чтобы удалить вещи из вашего пути к классам и вместо этого добавить определенные библиотеки в путь сборки Eclipse.

0 голосов
/ 09 марта 2010

Возможно, вы сможете изменить эту сконфигурированную ошибку компилятора на предупреждение или игнорирование в устаревшем и ограниченном разделе API: Запрещенная ссылка (правила доступа).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...