1

MAVENでJSFプロジェクトを構築したい。必要なすべての依存関係を追加しようとしました。エラーが発生するたびに。

<dependencies>
    <dependency>
        <groupId>org.richfaces</groupId>
        <artifactId>richfaces-bom</artifactId>
        <type>pom</type>
        <version>4.2.2.Final</version>
    </dependency>
    <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-impl</artifactId>
        <version>2.0.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.myfaces.core</groupId>
        <artifactId>myfaces-api</artifactId>
        <version>2.0.2</version>
        <scope>compile</scope>
    </dependency>

</dependencies>

プロジェクトが実際のJSFプロジェクトとして機能するようにするには、このPOMに何を追加する必要がありますか?

PS私は正しいrichfacesの依存関係を追加しました。のようなWebsphereでのデプロイの問題が発生しました。

Caused by: javax.faces.FacesException: java.lang.UnsupportedOperationException
    at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:387)
    at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1651)
    at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:410)
    at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
    at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
    ... 17 more
Caused by: java.lang.UnsupportedOperationException
    at com.sun.faces.config.ConfigureListener$ApplicationMap.entrySet(ConfigureListener.java:1948)
4

1 に答える 1

0

使用しているRichfacesの依存関係は、単なるbom-互換性のある「実際の」依存関係のセットをリストしているため、次のdependencyManagementセクションで使用する必要がありますpom

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.richfaces</groupId>
        <artifactId>richfaces-bom</artifactId>
        <version>4.2.2.Final</version>
        <type>pom</type>
      </dependency>
    </dependencies>
</dependencyManagement>

依存関係には、次のような実装が必要です。

<dependencies>
  <dependency>
    <groupId>org.richfaces.ui</groupId>
    <artifactId>richfaces-components-ui</artifactId>
    <!--version>4.2.2.Final</version-->
  </dependency>

  <dependency>
    <groupId>org.richfaces.core</groupId>
    <artifactId>richfaces-core-impl</artifactId>
    <!--version>4.2.2.Final</version-->
  </dependency>
<dependencies>

を使用している場合、依存関係のバージョン要素は冗長ですbom。設定を不本意に上書きする可能性があるため、削除することをお勧めしbomます。

編集:あなたが得ているエラーは私には構成の問題のように見えます。何が原因かわからない。私のアドバイスは、実用的なWebアプリの例から始めて、依存関係を追加することです。私のお気に入りの方法は、mavenにアーキタイプのWebアプリを生成させることです。

mvn archetype:generate

次に、可能なアーキタイプの長いリストが表示されます。jsf-weld-servlet-webappまたはのように、JSFが含まれているものを試してweld-jsf-jeeくださいrichfaces-archetype-simpleapp。これらは機能することがわかっておりpom、プロジェクトの残りの部分をサンプリングして、不足している可能性のあるものを確認できます。

于 2012-08-10T09:17:55.507 に答える