首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jboss7.1.3中的javaee-api原因:原因: java.lang.NoClassDefFoundError: javax/faces/component/UIComponentBase

jboss7.1.3中的javaee-api原因:原因: java.lang.NoClassDefFoundError: javax/faces/component/UIComponentBase
EN

Stack Overflow用户
提问于 2013-04-14 22:30:59
回答 2查看 285关注 0票数 0

我目前正在尝试开发一个ear应用程序,并希望将其部署在jboss7.1.3服务器上。

我已经使用jboss maven模板创建了一个javaee6 ear应用程序,并将大多数与javaee6相关的依赖项替换为:

代码语言:javascript
复制
<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>6.0</version>
</dependency>

因为我认为坚持标准会更好。但是当我将seam-faces添加到依赖项中时,抛出了一个错误:

代码语言:javascript
复制
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS018045: Failed to load annotated class: org.jboss.seam.faces.component.UIViewAction

进一步挖掘发现了一个缺失的类:

代码语言:javascript
复制
Caused by: java.lang.NoClassDefFoundError: javax/faces/component/UIComponentBase

为什么会这样呢?我应该坚持使用maven原型提供的依赖项吗?我担心的是如果我迁移到Glassfish会怎么样。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-17 10:14:04

上面的答案是有效的,但我所做的是不同的,我删除了seam-faces依赖,它解决了我的问题。我在seam-faces中使用的是我在组合框中使用的s:objectConverter,没有它,我创建了自己的实体转换器。

票数 0
EN

Stack Overflow用户

发布于 2013-04-15 23:27:02

是的,坚持使用原型中的内容。与Geromino和JBoss jar的创建方式不同,“标准”jar是不完整的,并且iirc是通过剥离字节码创建的(有人通过规范手动编写所有apis)。只要您将jars保存为provided,使用Glassfish应该不会有任何问题。

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

https://stackoverflow.com/questions/16000165

复制
相关文章

相似问题

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