无法在嵌入式jetty的多模块maven项目中加载JSTL

时间:2013-10-19 18:06:14

标签: jetty jstl tld

我已经使用嵌入式jetty创建了一个测试.jsp文件和.tag文件的测试框架。我正在使用Java API以编程方式启动Jetty服务器,添加servlet holder和包装器测试JSP并初始化通过项目web根目录的服务器。 从maven surefire插件运行时,Jasper在运行时发现TLD位置存在一些问题。我通过提供

修复了它
<useManifestOnlyJar>false</useManifestOnlyJar>

插件类路径设置。现在,当我使用mvn clean install运行测试时,一切正常。 从eclipse上下文菜单运行测试有一个问题。如果多模块maven构建中的工作空间中有任何其他项目,则该项目中的TLD不会被解析。我试过的一个解决方法是在eclipse工作区中“关闭”项目,然后就可以了。
但是我希望它能够在工作区中打开并从eclipse JUnit上下文菜单运行的所有项目中运行。问题出在jasper TldScanner中,它只在jar和当前项目的WEB-INF中查找tld文件。

TldScanner.scanTlds()
        processWebDotXml();
        scanJars();
        processTldsInFileSystem("/WEB-INF/");

我正在使用带有Jetty-8.1.0-RC5的org.glassfish.web.jsp-impl 2.2.2-b06版本。
有没有办法为jasper指定基于文件的TLD扫描以获取额外的类路径项?

0 个答案:

没有答案