在运行struts junit时获取java.lang.NoClassDefFoundError:javax / el / ELResolver

时间:2017-11-20 13:08:11

标签: struts2

我正在为struts动作类编写junits并使用org.apache.struts2.StrutsTestCase,在运行测试用例时我遇到异常。

O(N^1.5)

所以我在运行配置中添加了el-api.jar,然后再次运行测试,但开始获得另一个例外,即

 java.lang.NoClassDefFoundError: javax/el/ELResolver
at org.apache.struts2.tiles.StrutsTilesInitializer.createContainerFactory(StrutsTilesInitializer.java:58)
at org.apache.tiles.startup.AbstractTilesInitializer.createContainer(AbstractTilesInitializer.java:123)
at org.apache.tiles.startup.AbstractTilesInitializer.initialize(AbstractTilesInitializer.java:70)
at org.apache.tiles.web.startup.AbstractTilesListener.contextInitialized(AbstractTilesListener.java:62)
at com.dmainc.agora.action.test.SetupStrutsTestCase.setUp(SetupStrutsTestCase.java:261)

我猜这是因为某些jar / jar版本有冲突,但无法弄清楚为什么? 任何建议将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

解决方案1: apache-tomcat-x.x.xx \ lib文件夹的内部 el-api.jar文件集classpath环境变量。

解决方案2: 将apache-tomcat-x.x.xx \ lib \ el-api.jar文件复制到jreX.X.X_XXX \ lib \ ext \文件夹中。

因为它用于预加载tomcat服务器启动

再次运行您的测试用例。