rya*_*nki 61 java eclipse jsp taglib custom-tags
我有一个可以用Ant构建的Java EE项目,完美地部署到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支持论坛上问过这个问题,没有任何有用的结果.
sti*_*vlo 28
在Eclipse Helios中,项目属性中的"Java EE Module Dependencies"已替换为"Deployment Assembly".
因此,为了解决Eclipse Helios的这个问题,我的方法如下:
这解决了这个问题,但如果你想检查"部署程序集"中发生了什么,再次打开项目属性,选择"部署程序集",你会看到已将标准.jar和jstl.jar添加到WEB- INF/lib文件夹.
Pol*_*878 18
这是我的问题以及我如何解决它...
我做过上面提到的所有事情,但仍然遇到了这个错误.事实证明我使用的是uri,http://java.sun.com/jsp/jstl/fmt而且http://java.sun.com/jsp/jstl/core不正确.
尝试将uris从上面切换到:
http://java.sun.com/jstl/fmt
http://java.sun.com/jstl/core
Run Code Online (Sandbox Code Playgroud)
另外,请确保在类路径中引用了正确的jar.
小智 13
我有同样的问题,条纹taglib uri显示为未找到.我正在使用Indigo和Maven,当我检查Properties-> Java Build Path-> Order&Export选项卡时,我发现(在新项目结账时)由于某种原因未选中"Maven Dependencies"复选框.只需检查该框并执行Maven clean安装即可清除所有错误.
我想知道为什么Eclipse不假设我想在构建路径中使用我的Maven依赖项...
rya*_*nki 10
事实证明,原因是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>
Run Code Online (Sandbox Code Playgroud)
我能够通过创建一个新的"动态Web项目"找到原因,该项目正确读取其JSP文件,并针对旧项目的配置进行区分.
我能找到添加这些内容的唯一方法是编辑.project文件,但重新打开项目后,一切都神奇地起作用.上面的pribeiro引用的设置不是必需的,因为项目已经符合默认设置.
pribeiro和nitind的答案都给了我想要快速启动我的搜索,谢谢.
有没有办法在UI中编辑这些"性质"?
遇到同样的问题,我正在使用maven所以我把它添加到我的web项目中的pom:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version> <!-- just used the latest version, make sure you use the one you need -->
<scope>provided</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这解决了问题,我使用了"提供"范围,因为像OP一样,一切都已经在JBoss中运行了.
这是我找到解决方案的地方:http://alfredjava.wordpress.com/2008/12/22/jstl-connot-resolved/