Netbeans сбой развертывания после переименования класса

Я пишу тестовый клиент для веб-сервиса. Это веб-приложение 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. Как мне избавиться от этого призрака?

7
задан Benjamin 6 January 2014 в 15:30
поделиться