首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Java应用程序中找到了类,但在JSF中没有?

在Java应用程序中找到了类,但在JSF中没有?
EN

Stack Overflow用户
提问于 2012-01-20 22:13:20
回答 2查看 211关注 0票数 1

我正在尝试将bacnet4j与JSF结合使用。

我在.java中构建了一个打开/关闭灯的应用程序,但是如果我尝试从JSF页面(它与我的管理bean通信)调用相同的方法,则会给出:

代码语言:javascript
复制
type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: com/serotonin/bacnet4j/type/Encodable
root cause

java.lang.NoClassDefFoundError: com/serotonin/bacnet4j/type/Encodable
root cause

java.lang.ClassNotFoundException: com.serotonin.bacnet4j.type.Encodable

但是我非常确定这个类在那里,因为如果没有,我的java应用程序就不能工作了,对吧?

你知道为什么会发生这种事吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-20 22:35:22

包含这个类的JAR文件应该放在webapp的/WEB-INF/lib文件夹中。

普通Java应用程序不使用与Java Web应用程序相同的类路径。对于普通Java应用程序,类路径通常由java命令中的-cp-classpath参数指定,如果未指定,则由%CLASSPATH%环境变量指定;如果是JAR,则由JAR的/META-INF/MANIFEST.MF中的Class-Path条目指定。对于Java Web应用程序,缺省情况下,类路径包括webapp的/WEB-INF/lib/WEB-INF/classes文件夹、服务器的/lib (以及更多)文件夹,以及可以在特定于服务器的配置中指定的任何自定义文件夹,例如Tomcat中/conf/catalina.propertiesshared.loader属性。

票数 2
EN

Stack Overflow用户

发布于 2012-01-20 22:35:14

NoClassDefFound意味着类在编译时可用,但在运行时不可用。您需要将具有适当类的jar文件添加到war中(或将其添加到应用服务器类路径中)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8942680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档