gpt4 book ai didi

java - 类重命名后 Netbeans 部署失败

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:09:12 24 4
gpt4 key购买 nike

我正在为网络服务编写测试客户端。它是一个使用 JSF 框架的 Netbeans 6.9.1 WebApplication。我有一个调用网络服务的托管 bean。

一切正常,直到我发现我的 bean 类名称中有一个拼写错误。它是 serviceBean,我将它重命名为 ServiceBean,首字母大写。我使用了 Netbeans 的安全重命名功能,文件名和类签名都按预期更改了。

但从那时起,我在 Glassfish 3.0.1 上运行我的应用程序时遇到了很多麻烦。

我可以从 Netbeans 构建我的应用程序而不会出错(甚至是“清理并构建”)。但是如果我部署服务器日志中有以下消息:

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

我在 facelet 页面上有一个表单,该表单将提交到我的托管 bean。尽管出现上述错误,该表单仍将被加载,但如果我尝试提交它,我会收到以下错误:

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。结果:如果我“清理并构建”war 文件仅包含 ServiceBean2.class。如果我从 NB 部署,构建目录包含 ServiceBean2.class serviceBean.class。我该如何摆脱这个幽灵?

最佳答案

我能够复制这个问题的变体。我不得不 clear the NetBeans compilation cache (这似乎在允许大小写的操作系统上存在问题......)

为了解决我遇到的问题,我必须:

  1. 停止服务器

  2. 清理项目

  3. 停止 NetBeans

  4. 删除 %HOME%.netbeans\6.9\var\cache

  5. 启动 NetBeans

当我运行有问题的项目时,NetBeans 重新编译该项目,启动服务器并打开 index.xhtml。之后,我能够成功浏览该应用程序。

我打开了http://netbeans.org/bugzilla/show_bug.cgi?id=198565跟踪问题。请监控该问题并添加您认为可以帮助尝试解决该问题的人的任何信息。

关于java - 类重命名后 Netbeans 部署失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5965798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com