Как я могу ссылаться на библиотеки в 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)
![the problem jar not found]()
3 Зачем это было нужно в первую очередь и для чего оно использовалось?
Ну, у меня есть веб-сервис на том же сервере/домене, например, localhost, поэтому, конечно,
это будет работать, если я удалил веб-сервис из папки в источниках, но он мне нужен
4 Что делать?
Попробуйте добавить пустышку в любой онлайн бесплатный веб-сервис в форме wsdl
например какой-нибудь тестовый веб-сервис или поиск любого другого
![Try to add dummy web service]()
Это источник моего публичного бесплатного использования wsdl
- 5 Что тогда?
Просто добавьте это, пожалуйста,
![Just add it please]()
Теперь что?
Дождитесь сканирования проекта, все должно быть в порядке
Вы можете перепроверить из библиотеки свойства проекта
или увидеть, что нет красных/или решить проблему ссылок
в свойствах проекта
Итак, что именно произошло?
Примечание: JAX-WS-ENDORSED будет автоматически добавлено в ваши библиотеки
та же методология может решить и другие проблемы