0

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

我使用 jboss maven 模板创建了一个 javaee6 ear 应用程序,并将大部分 javaee6 相关依赖项替换为:

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>6.0</version>
</dependency>

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

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 会怎样。

4

2 回答 2

2

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

于 2013-04-15T15:27:01.677 回答
0

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

于 2013-04-17T02:14:04.210 回答