JSF 1.1 до 1.2 миграция - PullRequest
       1

JSF 1.1 до 1.2 миграция

2 голосов
/ 30 ноября 2010

Я сейчас использую JSF 1.1 на Apache Tomcat 6.0.13 , с maven 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>

Я надеюсь, что этот подход правильный. Если у кого-то есть более дружественное решение, пожалуйста, сообщите. Thanx!

[править 2]: После того, как я изменил JSF банку с 1.1. до 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>

1 Ответ

3 голосов
/ 30 ноября 2010

Посмотрите следующие заметки о выпуске, в которых есть руководство по миграции с 1.1 на 1.2. http://java.sun.com/javaee/javaserverfaces/docs/ReleaseNotes.html

Артефакты maven2 для JSF 1.2 нашли свое применение в стандартном репозитории maven2, расположенном по адресу http://http://repo1.maven.org/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

.

Зависимости могут быть определены следующим образом в 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>

Ниже приведен полный файл pom.xml, который должен содержать основные зависимости для запуска проекта JSF 1.2

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...