我目前使用的是JSF2.2.7和Icefaces版本4.0.0。我的项目在Tomcat7上运行,但在Tomcat8上运行时遇到了麻烦。我得到一个空指针异常,因为icefaces代码中的一个方法似乎要检查正在使用的jsf的当前版本。这总是返回null,我似乎没有设置正确的JSF实现。堆栈跟踪如下:
/**
* Determine whether the current JSF implementation is version 2.2
* @return true if JSF implementation is 2.2
*/
public static boolean isJSF22() {
return FacesContext.class.getPackage().getImplementationVersion().startsWith("2.2");
}
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>oag.com.reference</groupId>
<artifactId>web</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ReferenceDataWeb </name>
<packaging>war</packaging>
<description>Reference data web project.</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.0.201403182114</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.icefaces</groupId>
<artifactId>icefaces</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.icefaces</groupId>
<artifactId>icefaces-ace</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.icepush</groupId>
<artifactId>icepush</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.icefaces</groupId>
<artifactId>icefaces-compat</artifactId>
<version>3.3.0</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.oag.reference</groupId>
<artifactId>business</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.7</version>
</dependency>
<dependency>
<groupId>org.icefaces.ace-themes</groupId>
<artifactId>ace-cupertino</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.7</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.7</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
这很可能是由于手边有错误的上下文类加载器的错误导致的,该错误在Mojarra2.2.9中已按照问题3341进行了修复。
至少升级到Mojarra 2.2.9(当前最新版本为2.2.12)应该可以解决您的问题。
问题内容: 我正在使用JSF 1.2编写的大型应用程序。JSF 1.2大约已有6年历史了。我需要升级到JSF 2.0。这将有多痛苦?我注意到自定义标签中的某些属性已更改等。 问题答案: Painfulness 将JSF 1.2升级到2.0的痛苦程度取决于你当前正在使用以及要使用的视图技术。 从JSP 2.x到JSP 2.x =几乎无需付出任何努力。 从Facelets 1.x到Facelets 2
下面的方法已经使用了一段时间,当时我正在处理的系统有log4j。现在我们正在从Log4j转移到Log4j2,我会遇到编译问题。 Log4j2 jar:log4j-api-2.12.1.jar,log4j-core-2.12.1.jar 有没有人可以提供一些帮助,以解决上述问题的正确方法是什么?
Tomcat10最近发布了,并尝试简单地部署应用程序。由于Java EE 8使用javax.*包名称空间,而Tomcat10使用Java EE 9,后者使用jakarta.*名称空间,因此很难从Tomcat9迁移到10。有什么方法或工具可以做到这一点吗?我认为这对tomcat 7/8也是一样的。
可悲的是,这些来源中引用的大多数轴突迁移指南和文档已经过时或被删除。 外面还有移民指南吗?另外,哪种方法更好--一次迁移还是两步迁移?有Axon经验的人可以分享他们的来源或见解吗?
本文向大家介绍迁移PHP版本到PHP7,包括了迁移PHP版本到PHP7的使用技巧和注意事项,需要的朋友参考一下 今天看到微博上说phpng也就是php7合并到master上了,大家都知道我是比较喜欢探讨最新版本的东西,看看有什么特性,我就忍不住升级去了,以前我的PHP版本是5.5.19,然后我就开始了。 然后编译配置参数,我的博客服务器是腾讯云服务器,因为是博客配置比较低。如下: 下边是针对php
迁移CVS版本库到Subversion 或许让CVS用户熟悉Subversion最好的办法就是让他们的项目继续在新系统下工作,这可以简单得通过平淡的把CVS版本库的导出数据导入到Subversion完成,或者是更加完全的方案,不仅仅包括最新数据快照,还包括所有的历史,从一个系统到另一个系统。这是一个非常困难的问题,包括推导保持原子性的修改集,转化两个系统完全不同的分支政策。但是我们还是有许多工具声