【问题标题】:Project folder name in NetBeans interfering with JSF/GlassFish deploymentNetBeans 中的项目文件夹名称干扰 JSF/GlassFish 部署
【发布时间】:2012-04-27 03:12:47
【问题描述】:

我不确定这是 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:开始: 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 的目录尝试以上所有方法,它都可以正常工作。

有什么想法吗?显然我可以解决它,但它仍然让我感到厌烦。

【问题讨论】:

    标签: jsf netbeans glassfish


    【解决方案1】:

    Netbeans 有一个编译缓存,有时是causes problems。您可以删除编译缓存,看看是否有帮助。

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

    1. 停止服务器

    2. 清理项目

    3. 停止 NetBeans

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

    5. 启动 NetBeans

    【讨论】:

    • 太棒了!我在 3 个单独的 Netbeans/JSF 论坛上问过这个问题,但没有得到任何回应。在 StackOverflow 上摇滚,在 Matt Handy 上摇滚! (当然,发布的解决方案有效)
    猜你喜欢
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多