>

저는 JSP 프로젝트에서 일하고 있습니다. Tomcat 6 서버에서 Netbeans를 사용하여 프로젝트를 실행하는 동안 다음 예외가 발생했습니다.

org.apache.jasper.JasperException: Unable to compile class for JSP: 
An error occurred at line: 8 in the generated java file
Only a type can be imported.  com.TransportPortal.MyFunctions resolves to a package
Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)

와이즈 비즈  Apache Tomcat의 servelet-api.jar 에서  디렉토리.

문제 해결을 도와주세요.

lib
  • 답변 # 1

    오류로 인해 클래스가 아닌 것을 가져 오려고하는 것 같습니다.

    당신의 MyFunctions  클래스이므로 다음과 같이 가져와야합니다.

    <%@page import="com.TransportPortal.MyFunctions"%>
    
    

    패키지이고 패키지의 모든 것을 가져 오려면 다음과 같이해야합니다 :

    <%@page import="com.TransportPortal.MyFunctions.* "%>
    
    

    수정:

    이 오류를 발생시키는 두 가지 경우가 있습니다. 두 가지를 모두 다루도록 편집되었습니다.

  • 답변 # 2

    Java JRE 버전과 관련이있을 수 있습니다.

    내 경우에는 JRE 1.8.0_91과 동일한 오류를 나타내는 Tomcat 6.0.26이 필요합니다. JRE 1.7.49로 다운 그레이드하면 해결되었습니다.

    추가 정보는 다음에서 찾을 수 있습니다. http://www.howopensource.com/2015/07/unable-to-compile-class-for-jsp-the-type-java-util-mapentry-cannot-be-resolved/

  • 답변 # 3

    JRE 1.7.49로 다운 그레이드 할 수 있습니다

    또는 JRE 8에서 실행하려는 경우

    수정 단계 :-

    1. Liferay Tomcat의 Lib 폴더로 이동하십시오. 교체 :-ecj-3.7.2.jar을 ecj-4.4.2로 바꿉니다. 3. 서버를 다시 시작합니다

  • 답변 # 4

    이클립스 네온 버전 예외와 동일한 예외에 직면했습니다.

    org.apache.jasper.JasperException: Unable to compile class for JSP: 
    An error occurred at line: 1 in the generated java file
    The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files
    Stacktrace:
        org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
        org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
        org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
        org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    
    

    maven 플러그인의 Apache tomcat 8을 사용하고 있는데 업데이트하려고했지만 같은 문제가 있습니다.

    새로운 외부 아파치 톰캣 버전 8.5.14를 다운로드하고이를 사용하여 프로젝트를 실행 한 후 성공할 것입니다

    위의 예외를 해결하기 위해 이것을 유용하게 사용하기를 바랍니다

  • 답변 # 5

    org.apache.jasper.JasperException: Unable to compile class for JSP:

  • 이전 한 시트에서 특정 셀을 복사하고 다음 빈 행에 다른 시트에 붙여 넣는 스크립트
  • 다음 java - 목록이 null 인 경우 좋은 유효성 검사