2011-05-07 150 views
7

我正在JSP項目中工作。雖然捉迷藏使用NetBeans使用Tomcat 6服務器的項目,我有以下異常,無法編譯JSP的類

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) 

servelet-api.jar中的Apache Tomcat的lib目錄。

請幫我解決它。

+1

向我們展示JSP。 – skaffman 2011-05-07 08:35:17

回答

9

從錯誤中,您似乎在嘗試導入不是類的東西。

如果您MyFunctions是一個類,你應該導入它是這樣的:

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

如果它是一個包,要導入包中的一切,你應該這樣做:

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

編輯

有兩種情況會給你這個錯誤,編輯包括兩個。

6

它可能與Java JRE版本有關。

在我的情況下,我需要Tomcat 6.0.26,它提出了與JRE 1.8.0_91相同的錯誤。降級到JRE 1.7.49解決了它。

您可能會發現更多的信息: http://www.howopensource.com/2015/07/unable-to-compile-class-for-jsp-the-type-java-util-mapentry-cannot-be-resolved/

+0

謝謝。對於我的情況,我想繼續使用最新的JDK。我剛剛升級到1.8.101。從maven的'tomcat embedded ** ** 6 **移到** 7 **解決了這個問題 – oak 2016-08-03 18:59:54

2

要麼你可以降級到JRE 49年7月1日

,或者如果你想在JRE運行8

步驟來解決: -

1.轉到Liferay Tomcat的Lib文件夾。 2.替換: - ecj-3.7.2.jar和ecj-4.4.2。 3.Restart服務器

+0

我在我的tomcat lib中有ecj4.6.1。仍然面臨同樣的問題 – sambatha 2017-08-04 05:42:09

+0

我用ecj-4.6.3.jar,它對我很有用。 – 2017-08-10 05:54:09

1

我面臨同樣的異常在eclipse霓虹燈版本的例外是像下面

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,我試圖更新,但面臨同樣的問題。

後,我下載使用本公司的意志成功的新的外部的Apache Tomcat版本8.5.14和運行項目對我來說

我希望有一個有用的本作的決心異常

-1
<pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.tomcat.maven</groupId> 
       <artifactId>tomcat7-maven-plugin</artifactId>  
       <version>2.2</version> 
      </plugin> 
     </plugins> 

+0

您能否爲您的代碼提供一些上下文。你把它放在哪裏?它如何解決問題的問題? – TheEspinosa 2017-09-25 09:59:39

0
以上

org.apache.jasper.JasperException:無法編譯JSP類:

enter image

+1

項目propotice - > Web部署彙編---> Add ----> Java Build Path條目---> Maven依賴 – 2018-02-28 05:19:16

相關問題