Как я могу ссылаться на библиотеки в NetBeans?

У меня есть проект веб-служб Java, который был создан в старой версии NetBeans, и я не обращался к нему через много месяцев, поэтому мои пути и установленные библиотеки различны.

Когда я пытаюсь открыть проект, я получаю диалоговое окно "Resolve Reference Problems" и перечисляются две справочные проблемы:

"metro" library could not be found
"JAX-WS-ENDORSED" library could not be found

У меня есть новая установка JDK 6 Update 25 с NetBeans 7.0 и я запускаю Windows 7.

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

Примечание. JAX-WS-ENDORSED не отображается в моем списке библиотек, поэтому я не могу его удалить. Что-то скрытое ссылается на него. Как мне это найти?

Ответ 1

Я только что наткнулся на эту проблему и нашел некоторую помощь http://netbeans.org/bugzilla/show_bug.cgi?id=187145. По-видимому, Netbeans создаст библиотеку JAX-WS-ENDORSED при создании нового веб-сервиса. Итак, перейдите в меню "Файл" > "Новый файл", выберите "Веб-сервис" > "Клиент веб-сервиса" и заполните фиктивные значения (это можно сделать в проекте с выбросом). Затем этот клиент может быть удален, а Netbeans создаст библиотеку со следующими записями classpath:

java/modules/ext/jaxws22/api/jaxws-api.jar
ide/modules/ext/jaxb/api/jaxb-api.jar

Они относятся к вашему установочному каталогу Netbeans (в OS X будет находиться содержимое/ресурсы/Netbeans в .app). Кроме того, вы можете создать библиотеку вручную, используя приведенные выше записи.

Это нужно сделать только один раз, так как библиотека будет добавлена ​​в список глобальных библиотек Netbeans.

Ответ 2

Лучшее решение - отредактировать файл project.properties и заменить ниже фрагмент кода.

Исходное свойство: endorsed.classpath =\${libs.JAX-WS-ENDORSED.classpath}

Заменить на: endorsed.classpath =\${lib.JAX-WS 2.2.classpath}

В более старых версиях Netbeans есть библиотека JAX-WS-ENDORSED в каталоге libs.

Более новые версии Netbeans с библиотекой JAX-WS 2.2 в папке lib

** ВСЕ ЛУЧШИЕ **

Ответ 3

Netbeans поддерживает набор библиотек, которые просто удобны для управления группами связанных файлов jar. Начать с помощью кнопок clickong Инструменты > Библиотеки. Вы увидите окно менеджера библиотеки.

Library Manager

Вы увидите варианты добавления собственных библиотек, если у вас загружены файлы jar. Если вы не видите библиотеку, которую ищете, вы можете загрузить ее и добавить к себе. После того, как библиотека существует в Netbeans, вы можете перейти в окно Проводник проекта и щелкнуть правой кнопкой мыши вкладку "Библиотеки" вашего проекта. Выберите Добавить библиотеку, и у вас будет возможность добавить библиотеку, добавленную в диспетчер библиотеки.

Ответ 4

Если это все еще необходимо, у меня была такая же ситуация, когда был открыт проект netbeans 6.9 в netbeans 7. Нет способа разрешить ссылку "jaxb-endorsed" (в моем случае была jaxb, а не jaxws) с использованием библиотек окно.

Я нашел свойство endorsed.classpath в файле nbproject/project.properties. Я до сих пор не знаю, какова его цель, но в этом свойстве я нашел плохую ссылку на jaxb-endorsed.classpath, поэтому я удалил, закрыл netbeans и снова открыл, и проблема с исправлением исчезла.

У меня уже есть библиотека Jaxb 2.2, добавленная в мой проект, поэтому она работает хорошо с изменением, которое я сделал с project.properties.

Надеюсь, это поможет.

Ответ 5

У меня была аналогичная проблема: НЕ УДАЛЯЙТЕ JAX-WS-ENDORSED - напоминайте мне о нижнем. Мне пришлось перейти на импортированный проект > ссылка на ссылку диалог проблем > удалить ссылки из них, которые указывали на старые папки NB - pic: enter image description here

а затем создайте броскую веб-службу, предложенную Уильямом Скоттом, а затем добавьте вновь созданные банки: enter image description here

Ответ 6

Вы можете щелкнуть правой кнопкой мыши по проекту, перейти к свойствам → Библиотеки.

Удалите библиотеку JAX-WS-ENDORSED и попробуйте использовать JAX-WS 2.2

Также удалите метро и попробуйте добавить METRO 2.0

Это может решить вашу проблему.

Вы также можете щелкнуть правой кнопкой мыши ссылки на веб-службу и выбрать

Изменить атрибуты веб-службы

Затем на вкладке "Параметры" wsimport укажите, установлено ли значение xendorsed равным true.

UPDATE

Возможно, вам придется закрыть netbeans, а затем снова открыть его, и это может сработать. У меня была проблема с подобным, и я просто сделал это, и это сработало.

Единственное отличие, и это может быть не нужно, это то, что я также добавил библиотеку JAXB 2.2, но это было потому, что я пытался решить ошибку компиляции.

Ответ 7

У меня была такая же проблема и исправить ее, установив soap webservice и и resful webservice в плагин netbeans

Ответ 8

Я исправлю это:

  • unistall netbeans.
  • удалить HOME/.netbeans и HOME/.nbi
  • затем снова установите netbeans

Ответ 9

Старая нить, другое и эффективное решение... Я просто переместил некоторые проекты из одной системы в другую и получил эту ошибку. С NetBeans v7.3 + перейдите в "Инструменты" > "Плагины", "Доступные плагины", затем выполните поиск "SOAP". Вы должны увидеть "SOAP Web Services". При загрузке этой библиотеки вы получите библиотеку JAX-WS-ENDORSED. Перезапустите NetBeans и вы сможете получить чистую сборку.

Загрузка этого пакета приводит к появлению ряда других библиотек. При перезапуске среды IDE вы можете получить уведомление о том, что другие пакеты теперь имеют доступные обновления.

Ответ 10

Выполните следующие действия (кстати, в моем случае это NetBeans 6.9.1)

  • 1 Почему это появилось сейчас?
    Потому что я пытался открыть проект на другом компьютере со свежей копией сетевого компонента

  • 2 Как выглядит проблема? Jar Lib не найден для JAX-WS-ENDORSED

the problem jar not found

  • 3 Зачем это было нужно в первую очередь и для чего оно использовалось? Ну, у меня есть веб-сервис на том же сервере/домене, например, localhost, поэтому, конечно, это будет работать, если я удалил веб-сервис из папки в источниках, но он мне нужен

  • 4 Что делать? Попробуйте добавить пустышку в любой онлайн бесплатный веб-сервис в форме wsdl

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

Try to add dummy web service

Это источник моего публичного бесплатного использования wsdl

  • 5 Что тогда? Просто добавьте это, пожалуйста,

Just add it please

  • Теперь что? Дождитесь сканирования проекта, все должно быть в порядке Вы можете перепроверить из библиотеки свойства проекта или увидеть, что нет красных/или решить проблему ссылок в свойствах проекта

  • Итак, что именно произошло? Примечание: JAX-WS-ENDORSED будет автоматически добавлено в ваши библиотеки та же методология может решить и другие проблемы