2

我的应用程序正在使用 apache camel 和 spring。我在如下camel-context.xml 中显示的EL 表达式中遇到异常。in.body 是请求对象,它具有getParam() 方法。

<filter>
    <el>${(in.body.getParam != null) and (in.body.getParam[validate] == 'Y')}</el>
    <log message="validating...${in.body.getParam[errorResponse]}" />
    <filter>
        <method ref="validationExecutor" method="execute" ></method>
        <setBody><simple>${in.body.getParam[errorResponse]}</simple></setBody>
        <stop />
    </filter>
</filter>

我添加了依赖项

<dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-juel</artifactId>
            <version>2.10.0</version>
</dependency>

我仍然收到异常 java.lang.ClassNotFoundException: de.odysseus.el.E​​xpressionFactoryImpl

我进一步研究了使用 vm arg -verbose:class 加载的类,我发现加载了其他与 EL 相关的 jar

apache-tomcat-7.0.62/lib/el-api.jar
geronimo-el_1.0_spec-1.0.1.jar

我没有在 pom 中指定它们,但仍然添加了这些罐子。我怎样才能删除它们?

4

0 回答 0