Перемещение проекта-заглушки Axis 1.4 в проект на основе Maven (ограничение доступа типа) - PullRequest
1 голос
/ 23 июля 2010

По соображениям совместимости я должен создать скелетные классы Axis 1.4 из выхода из wsdl-файла.Я использую поставляемую Ant-задачу wsdl2java из Axis 14.

Я использую MyEclipse 8.5 на Java SDK 1.6.0_18, я добавил необходимые библиотеки в путь сборки и все идет хорошо.

Теперь я переместил свой обычный проект в проект Apache Maven2, добавив зависимости, которые я получаю после предупреждений (~ 500):

Описание Путь к ресурсу Расположение Тип Ограничение доступа: Конструктор QName (String,Строка) недоступна из-за ограничения на требуемую библиотеку /usr/local/uvst/standard/jdk1.6.0_18/jre/lib/rt.jar

Я уже читал подобный вопрос здесь, ноЯ не согласен с ответами на Ограничение доступа к классу из-за ограничения на требуемую библиотеку rt.jar? .

Потому что в обычном проекте Java нет

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

Появляется предупреждение.

Настройка classpath в моем обычном проекте Java содержит все библиотеки, поставляемые стестовый дистрибутив Axis 1.4 (я знаю, что он довольно старый).

Раздел зависимостей моего pom.xml:

<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis-jaxrpc</artifactId>
<version>1.4</version>
</dependency>

Класс QName находится в axis-jaxrpc.jar!

Есть ли возможность сделать все правильно, не убивая файлы классов из библиотек или отключая настройки предупреждений в IDE?

Ответы [ 2 ]

0 голосов
/ 24 июля 2010

Плагин Maven2, который поставляется с MyEclipse 8.5, конфигурирует встроенный путь по умолчанию с JDK 1.4, я изменил его для моей фактической установки JDK 1.6, и теперь он работает как должен.

0 голосов
/ 23 июля 2010

Это происходит только в Eclipse?Если да, вы можете изменить настройки компилятора, как описано в FAQ по m2eclipse:

Ошибки компиляции в ограниченных классах

Проекты, использующие классы из rt.jar,например, com.sun. * (и некоторые другие) могут иметь ошибки компиляции, такие как: «Ограничение доступа: тип RE недоступен из-за ограничения на требуемую библиотеку /lib/rt.jar».Такие ошибки указывают на использование классов, не относящихся к API, и эти правила доступа определяются Eclipse JDT.

Вы можете изменить настройки компилятора, чтобы не нарушать эти ограничения в настройках рабочего пространства в Window / Preferences / Java / Compiler / Errors /Предупреждения / Устаревшие и ограниченные API / Запрещенные ссылки (правила доступа) / Предупреждения;или для проекта из Проекта / Свойства / Компилятор Java / Ошибки / Предупреждения / Устаревший и ограниченный API / Запрещенная ссылка (правила доступа) / Предупреждения

...