webapp에서 사용자 정의 taglib를 사용하려고하면 OS X (또는 Windows), Eclipse 및 Run Jetty Run에서 작동하지 않습니다. 내가 WAR 파일을 아파치 - 톰캣 - 6.0.20을 실행하는 내 리눅스 서버에서 실행할 때 아무런 문제가 없다. 둘 다 환경에서 문제없이 타사 사용자 정의 taglibs를 사용하고 있습니다.커스텀 taglibs가 "PWC6033 : JSP 용 클래스를 컴파일 할 수 없습니다"
org.apache.jasper.JasperException: PWC6033: Unable to compile class for JSP
PWC6197: An error occurred at line: 6 in the jsp file: /temp.jsp
PWC6199: Generated servlet error:
com.test cannot be resolved to a type
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:107)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:280)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:350)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:411)
...
는 사용자 정의 태그 라이브러리의 TLD는
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC
"-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>2.0</jsp-version>
<short-name>test</short-name>
<uri>http://test.com/test.tld</uri>
<description>Test</description>
<tag>
<name>custom</name>
<tag-class>com.test.CustomTag</tag-class>
<body-content>empty</body-content>
<description>Custom tag</description>
</tag>
</taglib>
그리고 태그 핸들러
package com.test;
import javax.servlet.jsp.tagext.TagSupport;
public class CustomTag extends TagSupport {
private static final long serialVersionUID = 1L;
}
그리고 마침내 temp.jsp
<%@ taglib uri="http://test.com/test.tld" prefix="test" %>
Hi
<test:custom/>
내가 생각하는 내 태그 라이브러리 정의/구성과 같은 th 이후 정확하다. 바람둥이에 전개 될 때 모든 것이 작동하지만, 나는 하루 종일이 일을 부두에서 쓸모 없게하려고 노력했다.
이제 Windows에서 (기본 JRE 대신) 1.6 JDK를 사용하여 run-jetty-run에서 응용 프로그램을 실행 해 보았습니다. . – Tyler