我尝试了两种方法来实现this。
规格: MyFaces 2.1.7 javax.el 2.1.0 WebFlow 2.3.1 Spring Framework(OSGI)
首先,添加依赖项。
<dependency>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-api</artifactId>
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>de.odysseus.juel</groupId>
<artifactId>juel-impl</artifactId>
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>de.odysseus.juel/groupId>
<artifactId>juel-spi</artifactId>
<version>2.2.6</version>
</dependency>
然后我附加了我的应用程序的manifest.mf捆绑包。
首先,我尝试使用this old method某些人编码。当我尝试运行它时,我收到以下错误消息:
org.springframework.binding.expression.ParserException: Unable to parse expression string '#{extRuntimeAuthorityUserManager.addRuntimeAuthority(conversationScope.accessLayerModel.accessUser, T(com.common.identity.enums.ERuntimeAuthority).AUTHORITY_CHANGE_WORKING_INSTITUTION)}'
其次,我发现的最新是one。我对javax.el的冲突版本有一些问题,因为juel-api import是自己的。所以,我在juel-api中加入了这一行。
Fragment-Host: javax.el
然后,
我将来自JUEL的ExpressionImpl添加到web.xml中的MyFaces配置
<context-param>
<param-name>org.apache.myfaces.EXPRESSION_FACTORY</param-name>
<param-value>de.odysseus.el.ExpressionFactoryImpl</param-value>
</context-param>
不幸的是,我收到了这条日志消息:
MyFaces Bean Validation support enabled
哪个告诉我们JUEL没有加载?我错过了什么或做错了什么..
答案 0 :(得分:0)
更改了我的应用程序正在使用的javax.el的清单。
1)删除旧的javax版本,并用jetty.orbit中的latest version javax.el替换它。 2)保持我提到的Juel的依赖性。 3)使用这些捆绑包添加到项目的Manifest.mf(webapp)
4)棘手的部分:打开javax.el.2.2.0.v201303151357并打开这个jar的清单。然后,添加此行以强制使用juel-api中的javax.el。
Fragment-Host: de.odysseus.juel-api