【发布时间】:2014-08-14 16:10:10
【问题描述】:
从 Kubuntu 迁移到 OS X(购买了 macbook)。使用以下设置环境来构建我的项目(从官方网站下载,而不是存储库):
- Java SE(内部版本 1.7.0_60-b19)
- Apache Maven 3.2.1
- Apache Tomcat 7.054
项目技术栈:
- Spring Framework 3.2.2.RELEASE
- 休眠 4.2.5.Final
- Java 服务器端 2.2.0
- RichFaces 4.3.1.Final
- MySQL 5.6.19
使用 maven 构建在 Windows 7、Kubuntu 14.04 和 Mac OS X Mavericks 10.9.3 上运行良好。部署到 Apache Tomcat 7 也正常(没有错误,出现警告)。部署项目后,进入登录屏幕,加载主页,浏览项目视图,直到我进入发票页面,其中包含
#{rich:element('some_id')}.some_action()。
呈现此页面时出现以下错误:
我可以转到另一个页面,有时可以在没有此错误的情况下呈现发票页面,但仍然单击具有此 EL 的另一个页面会出现相同的错误。
尝试了什么:
- 部署在不同的 Tomcat 版本(7.054、7.050、7.053)上。
- 使用不同的 Maven 版本(3.2.1、2.0.4)构建。
- 使用的是不同的 Java SDK 版本(1.6、1.7、1.8)。
-
在代码调查期间发现
org.richfaces.function.RichFunction类的以下依赖项失败:import org.richfaces.cdk.annotations.Function;这是最可能的错误原因。在我的 pom.xml 中添加了以下依赖项:
<dependency> <groupId>org.richfaces.cdk</groupId> <artifactId>annotations</artifactId> <version>4.3.1-SNAPSHOT</version> <scope>provided</scope> </dependency>IDE 预编译器显示依赖关系已解决。
mvn clean install并且重新部署项目没有结果。出现同样的错误。 - 在谷歌搜索可能的解决方案时 - 在项目类路径中的某些包中看到
el-api.jdk的问题。在 tomcat7 lib 目录中有一个el-api.jdk,在pom.xml有三个排除可能包含可能冲突的el-api.jdk的依赖项。同样在target/WEB-INF/lib目录中也没有可能发生冲突的el-api.jdk文件。 - 在 Google Chrome 和 OS X Safari 中打开的项目 - 最后一个错误较少,但仍然存在。
- 从 Git 克隆项目 3 次,执行完整安装说明,从 IDE Intellij IDEA 13(最新更新)和终端构建并运行 - 将 .war 复制到 /webapps 并运行
catalina.sh。还尝试使用mvn package -DskipTests jetty:run- 所有选项都给出相同的结果。
编辑:问题出现在 kubuntu 14.04 和 ubuntu 12.10 上。还在 Windows 7 上进行了测试——同样的问题。所以这不是基于操作系统的错误。
任何建议将不胜感激。
【问题讨论】: