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 プロジェクト、scope=compile に primefaces 依存関係を追加します。

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 で除外します。 jboss-713.html

于 2013-05-07T07:38:03.477 に答える