2010-11-30 145 views
2

我目前使用JSF 1.1的Apache Tomcat 6.0.13,與行家 2.JSF 1.1〜1.2的遷移

我刨遷移從JSF 1.1〜1.2。可能有人點我在: - 什麼JSF實現最好用 - 可在Maven的中央資料庫 此實現 - 我需要什麼樣的代碼部分調整(我使用自定義標籤在我的項目,但除此之外,這是所有普通JSF)

任何信息將是有益的...感謝名單!

[編輯1]:

嗯,它並沒有爲我工作。無法從您指定的存儲庫下載依賴項。也許這是因爲這是鏈接maven 1存儲庫。我正在使用以下pom設置:

 <dependency> 
      <groupId>javax.faces</groupId> 
      <artifactId>jsf-api</artifactId> 
      <version>1.2</version> 
      <type>jar</type> 
      <scope>system</scope> 
      <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jsf-api.jar</systemPath> 
     </dependency> 
     <dependency> 
      <groupId>javax.faces</groupId> 
      <artifactId>jsf-impl</artifactId> 
      <version>1.2</version> 
      <type>jar</type> 
      <scope>system</scope> 
      <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jsf-impl.jar</systemPath> 
     </dependency> 

我希望這種方法是正確的。如果有人有一個更友善的解決方案,請告知。感謝名單!

[編輯2]: 我從1.1版更改了我的JSF jar之後。 1.2,在應用程序啓動時發生以下錯誤:

java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: 
javax.faces.context.FacesContextFactory 

要修正這個錯誤,另外聽衆需要在web.xml中添加:

<listener> 
     <listener-class>com.sun.faces.config.ConfigureListener</listener-class> 
    </listener> 

回答

3

看一看擁有下列發行說明從1.1遷移引導至1.2 http://java.sun.com/javaee/javaserverfaces/docs/ReleaseNotes.html

爲JSF 1.2中的maven2工件發現他們的方式在位於http://http://repo1.maven.org/maven2

標準maven2的存儲庫

JSF實現

http://repo2.maven.org/maven2/javax/faces/jsf-impl/1.2-b19/

JSF API

http://repo1.maven.org/maven2/javax/faces/jsf-api/1.2-b19/

這樣,你不應該要求你的pom.xml或settings.xml的任何特殊設置庫

依賴c一個可以在POM這樣定義(1.2-B19是在寫作時的最新版本):

<dependency> 
     <groupId>javax.faces</groupId> 
     <artifactId>jsf-api</artifactId> 
     <version>1.2-b19</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.faces</groupId> 
     <artifactId>jsf-impl</artifactId> 
     <version>1.2-b19</version> 
    </dependency> 

包括以下是應包含的基本依賴用於啓動JSF項目1.2的完整的pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.ecs.sample.jsf</groupId> 
    <artifactId>SampleJsfPom</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>war</packaging> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.5</source> 
        <target>1.5</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <dependency> 
      <groupId>javax.faces</groupId> 
      <artifactId>jsf-api</artifactId> 
      <version>1.2-b19</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.faces</groupId> 
      <artifactId>jsf-impl</artifactId> 
      <version>1.2-b19</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.facelets</groupId> 
      <artifactId>jsf-facelets</artifactId> 
      <version>1.1.11</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-digester</groupId> 
      <artifactId>commons-digester</artifactId> 
      <version>1.7</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-beanutils</groupId> 
      <artifactId>commons-beanutils</artifactId> 
      <version>1.7.0</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-collections</groupId> 
      <artifactId>commons-collections</artifactId> 
      <version>3.2</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
       <version>2.5</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 
</project> 
+0

Thanx,這只是我一直在尋找的信息。 – Igor 2010-11-30 12:42:49