gpt4 book ai didi

java - 尝试将 WAR 文件部署到 Glassfish 时出现 ClassNotFoundException

转载 作者:行者123 更新时间:2023-12-01 05:40:25 24 4
gpt4 key购买 nike

当我继续研究使用 Ant 构建脚本、Spring 和 Glassfish 时,我在将 WAR 部署到 Glassfish 时遇到了另一个问题。

我的构建脚本似乎可以正确编译并生成一个 war 文件,但是当我使用它来部署它时

<glassfish-deploy force="true" file="${dist.dir}/${name}.war" />

我收到以下错误消息

[glassfish-deploy] remote failure: Error occurred during deployment: Exception while loading the app : java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.apache.catalina.LifecycleException: java.lang.ClassNotFoundException: uk.co.crowderconsult.spider.controllers.HelloController. Please see server.log for more details.

我认为根本问题是

java.lang.ClassNotFoundException: uk.co.crowderconsult.spider.controllers.HelloController

但是,它找不到的类是我编写并包含在 WAR 文件中的类之一。我通过使用 winzip 打开 WAR 进行检查,类文件就在其中。

通常我会认为我没有在类路径中包含某些内容,但是1)该类位于我尝试部署的文件中,因此预计它无论如何都会位于类路径上并且2)我不知道如何设置glassfish的部署命令的类路径。

我还尝试使用命令行 asadmin 任务和 glassfish 管理控制台来部署它,得到了相同的结果。

有人能给我指出正确的方向吗,因为我觉得我只是在原地打转?!如果需要任何其他信息,请告诉我

非常感谢。

最佳答案

当你说“它就在那里”时,我将其解释为包路径中的 WEB-INF/classes 文件夹中有一个 HelloController.class uk.co.crowderconsult.spider.controllers。真的吗?如果是,类加载器应该找到它。如果没有,那就可以解释为什么您拥有 CNFE。

你是对的:如果你的 WAR 文件构建正确,你不需要做任何其他事情来向 Web 服务器解释 CLASSPATH。

关于java - 尝试将 WAR 文件部署到 Glassfish 时出现 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7322932/

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