我目前正在尝试开发一个ear应用程序,并希望将其部署在jboss7.1.3服务器上。
我已经使用jboss maven模板创建了一个javaee6 ear应用程序,并将大多数与javaee6相关的依赖项替换为:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
</dependency>因为我认为坚持标准会更好。但是当我将seam-faces添加到依赖项中时,抛出了一个错误:
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS018045: Failed to load annotated class: org.jboss.seam.faces.component.UIViewAction进一步挖掘发现了一个缺失的类:
Caused by: java.lang.NoClassDefFoundError: javax/faces/component/UIComponentBase为什么会这样呢?我应该坚持使用maven原型提供的依赖项吗?我担心的是如果我迁移到Glassfish会怎么样。
发布于 2013-04-17 10:14:04
上面的答案是有效的,但我所做的是不同的,我删除了seam-faces依赖,它解决了我的问题。我在seam-faces中使用的是我在组合框中使用的s:objectConverter,没有它,我创建了自己的实体转换器。
发布于 2013-04-15 23:27:02
是的,坚持使用原型中的内容。与Geromino和JBoss jar的创建方式不同,“标准”jar是不完整的,并且iirc是通过剥离字节码创建的(有人通过规范手动编写所有apis)。只要您将jars保存为provided,使用Glassfish应该不会有任何问题。
https://stackoverflow.com/questions/16000165
复制相似问题