1

我不确定这是 JSF 问题还是 NetBeans 问题。我对两者都很陌生。我也不确定stackoverflow是否是最好的SE站点,所以如果我错了,请帮助我并迁移它。谢谢。

我在文件夹中有一个项目,比如说 C:\Folder1,当我尝试在 GlassFish 服务器上“部署”它时,我收到关于缺少类的奇怪错误……尽管该类甚至不是其中的一部分项目。我相信 C:\Folder1 可能是我过去用于不同项目的东西,但它早已不复存在。所以这个新项目,如果我将它移动到文件夹 C:\Folder1a 或 C:\Folder2 或除 C:\Folder1 之外的任何其他文件夹......那么它将正常部署。但是,如果我将它移回 Folder1(即该级别下完全相同的目录结构),我会从 GlassFish 服务器收到关于无法找到它甚至不需要的类的神秘错误消息。

我在其他地方得到了一个尝试“清理”并重新构建项目的建议,但这没有用。这是有关我遵循的步骤的更多详细信息。

在 Netbeans 中创建新项目,将其指向一个名为 Ex2605 的空文件夹。之后,我将几个源文件(.java 和 .xhtml)带入 Ex2605 目录结构。当我清理和构建时,它说好的。当我尝试部署时,我收到此错误:

部署期间发生错误:加载应用程序时出现异常:java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: java.lang.NoClassDefFoundError: LShoppingCart;。有关详细信息,请参阅 server.log。C:\\Ex2605\nbproject\build-impl.xml:721:模块尚未部署。有关详细信息,请参阅服务器日志。构建失败(总时间:16 秒)

“ShoppingCart”是来自另一个项目的一个类,我很久以前在同一个位置的一个名为 Ex2605 的目录中拥有它。但是该目录早已不复存在,它已从 Netbeans 项目列表中删除,并且当前 Ex2605 文件夹中的任何文件中的任何位置都没有对 ShoppingCart 类的引用。因此,Netbeans 显然正在寻找名为 LShoppingCart 的东西的事实告诉我,它在其他地方保留了我曾经在 Ex2605 文件夹中拥有的历史记录,显然我需要清除该历史记录,但不知道如何清除。

如果我在任何不名为 Ex2605 的目录中尝试上述所有方法,它都可以正常工作。

有任何想法吗?显然我可以解决它,但它仍然让我烦恼。

4

1 回答 1

5

Netbeans 有一个编译缓存,有时会导致问题。您可以删除编译缓存,看看它是否有帮助。

以下是回答我的问题的步骤:

  1. 停止服务器

  2. 清理项目

  3. 停止 NetBeans

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

  5. 启动 NetBeans

于 2012-04-27T06:16:25.707 回答