簡體   English   中英

使用類型推斷時,Tomcat 8.5.27編譯失敗,並為JSP頁面顯示錯誤“類型非法啟動”

[英]Tomcat 8.5.27 compilation fails with error 'illegal start of type' for JSP pages when type inference was used

我正在使用tomcat 8.5.27,並且在使用tomcat 8.5.27編譯JSP頁面時,出現了編譯錯誤,指出“類型的非法開始”。

錯誤:

RESTProxy_jsp.java:30: illegal start of type
    [javac]     _jspx_imports_packages = new java.util.HashSet<>();
                                                               ^

但是,如果將tomcat更改為Tomcat 7.0.69,則發現Build成功,並且沒有編譯錯誤報告。

經過進一步分析,我發現Tomcat 8.x編譯的JSP頁面與Tomcat 7.x的頁面不同,並且它在JSP文件的編譯版本中添加了以下代碼集,最終導致編譯錯誤。

    private static final java.util.Set<java.lang.String> _jspx_imports_packages;

     private static final java.util.Set<java.lang.String> _jspx_imports_classes;

     static {
        _jspx_imports_packages = new java.util.HashSet<>();
        _jspx_imports_packages.add("javax.servlet");
        _jspx_imports_packages.add("javax.servlet.jsp");
        _jspx_imports_packages.add("javax.servlet.http");
        _jspx_imports_classes = new java.util.HashSet<>();
        _jspx_imports_classes.add("com.abc.studio.xyz.BackEndHandler");
  }

我使用的是Java 1.7.0_80,請問任何人都可以告知我為什么使用JDK 7卻收到此錯誤,並且我們都知道Java 7支持類型推斷。

tools.jar升級到Java 8后,此問題已解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM