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

у тестовый клиент для веб-сервиса. Это веб-приложение Netbeans 6.9.1, использующее инфраструктуру JSF. У меня есть один управляемый компонент, который вызывает веб-сервис.

Все работало нормально, пока я не заметил опечатку в названии моего класса бобов. это былоserviceBean и я переименовал его вServiceBean с первой буквы в верхнем регистре. Я использовал функцию безопасного переименования Netbeans, и имя файла и сигнатура класса изменились, как и ожидалось.

Но с тех пор у меня было много проблем с запуском моего приложения на Glassfish 3.0.1.

Я могу создать свое приложение из Netbeans без ошибок (даже «Clean & Build»). Но если я разверну, в журнале сервера появится следующее сообщение:

WARNUNG: Error in annotation processing: java.lang.NoClassDefFoundError: jsf/serviceBean (wrong name: jsf/ServiceBean)
WARNUNG: WEB9052: Unable to load class jsf.ServiceBean, reason: java.lang.ClassNotFoundException: jsf.ServiceBean
INFO: Mojarra 2.0.2 (FCS b10) für Kontext '/PidClient' wird initialisiert.
SCHWERWIEGEND: Unable to load annotated class: jsf.serviceBean, reason: java.lang.NoClassDefFoundError: jsf/serviceBean (wrong name: jsf/ServiceBean)
INFO: Loading application PidClient at /PidClient

У меня есть форма на странице лицевой страницы, которая будет отправлена ​​на мой управляемый компонент. Форма будет загружена, несмотря на вышеуказанную ошибку, но если я попытаюсь отправить ее, я получу следующую ошибку:

WARNUNG: /index.xhtml @19,94 value="#{serviceBean.fldLname}": Target Unreachable, identifier 'serviceBean' resolved to null
javax.el.PropertyNotFoundException: /index.xhtml @19,94 value="#{serviceBean.fldLname}": Target Unreachable, identifier 'serviceBean' resolved to null
        at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:93)
        at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
        at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1008)

Таким образом, это будет только последующей ошибкой, вызванной вышеуказанной ошибкой NoClassDefFoundError.

А теперь странная часть: если я строю свой проект, он создает файлServiceBean.class но если я разверну проект из Netbeans, а затем загляну в мой каталог развертывания, класс будет переименован вserviceBean.class.

Похоже, что процесс развертывания переименовывает файл.

В чем проблема? (Netbeans 6.9.1, Glassfish 3.0.1, Windows 7)

ОБНОВИТЬ: Это становится еще лучше: переименован в ServiceBean.java в ServiceBean2.java. Результат: если я "Очистить и построить", файл войны содержит только класс ServiceBean2.class. Если я разверну из NB, каталог сборки содержит ServiceBean2.classа также serviceBean.class. Как мне избавиться от этого призрака?

Ответы на вопрос(3)

Ваш ответ на вопрос