我有一个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支持论坛上提出了这个问题,但没有任何有益的结果。
事实证明,原因是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的回答都给了我快速启动搜索的想法,谢谢。
有没有一种方法可以从用户界面中编辑这些“性质”?