一尘不染

Eclipse“无法找到定制标签(不是JSTL!)的标签库描述符”

jsp

我有一个Java EE项目,该项目可以用Ant很好地构建,可以完美地部署到JBoss,并且可以毫无问题地运行。该项目包括一些 自定义
标记库(不是JSTL!),它们也可以毫无困难地工作。

问题出在Eclipse IDE(Ganymede)上:在每个使用我们的自定义标记的JSP文件中,JSP解析器都将taglib包含行标记为带有此错误:

Cannot find the tag library descriptor for (example).tld

这也会导致将选项卡库的每次使用都标记为错误,并且由于IDE没有其定义,因此无法检查标记参数等。

我们运行良好的JSP文件到处都是红色错误,我的眼睛开始发烫。

我如何简单地告诉Eclipse:“您正在寻找的标记库描述符是“ src / web / WEB-INF /(example)-taglib
/(example).tld”?

我已经在Eclipse支持论坛上提出了这个问题,但没有任何有益的结果。


阅读 338

收藏
2020-06-08

共1个答案

一尘不染

事实证明,原因是Eclipse根本没有将该项目视为实际上是Java EE项目。它是3.1版的一个旧项目,而我们现在使用的Eclipse
3.5现在需要在项目配置文件中设置几个“性质”。

<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>InCode.inCodeNature</nature>
    <nature>org.eclipse.dltk.javascript.core.nature</nature>
    <nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
    <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
</natures>

通过创建一个可以正确读取其JSP文件的新“动态Web项目”,并对照较早项目的配置,我能够找到原因。

我可以找到添加这些的唯一方法是编辑.project文件,但是重新打开该项目后,一切都神奇地工作了。上面的pribeiro引用的设置不是必需的,因为该项目已经符合默认设置。

pribeiro和nitind的回答都给了我快速启动搜索的想法,谢谢。

有没有一种方法可以从用户界面中编辑这些“性质”?

2020-06-08