0

首先这是我的设置:

1.) jboss7.1.3

2.) maven javaee6 生成项目

3.) ear、war、ejb工程格式

4.)Java 7

我正在尝试使用 LazyDataModel 作为源创建一个 DataTable 组件,但无法解决以下问题:

22:28:56,419 WARN  [org.jboss.modules] (MSC service thread 1-6) Failed to define class org.primefaces.model.LazyDataModel in Module "deployment.dropship-ear.ear:main" from Service Module Loader: java.lang.LinkageError: Failed to link org/primefaces/model/LazyDataModel (Module "deployment.dropship-ear.ear:main" from Service Module Loader)
...
Caused by: java.lang.NoClassDefFoundError: javax/faces/model/DataModel

到目前为止我尝试的是(都没有工作):

1.) 在ejb项目中添加primefaces依赖,scope=compile

2.) 在 jboss7.1.3 中添加 primefaces 模块,并添加对 ejb 和 war 项目的依赖,scope=compile|provided

请注意,我在 web 和 ejb 项目中都定义了 jboss jsf-api:

<dependency>
    <groupId>org.jboss.spec.javax.faces</groupId>
    <artifactId>jboss-jsf-api_2.1_spec</artifactId>
    <scope>provided</scope>
</dependency>

有什么建议么?

4

1 回答 1

0

我能够通过添加 jboss-deployment-structure.xml 来解决这个问题:

在 ejb/pom.xml 中添加 primefaces 依赖项并将其排除在 war/pom.xml 中,如此链接中所述:http://czetsuya-tech.blogspot.com/2013/05/how-to-use-primefaces-with- jboss-713.html

于 2013-05-07T07:38:03.477 回答