idea javaweb專案 jsp頁面報錯:''operator is not allowed for source level below 1.7
- 今天在使用idea做練習時,某個jsp頁面報錯如下:
'<>'operator is not allowed for source level below 1.7
出錯程式碼如下:
Map<String, String> genders = new HashMap<>();
不難看出報錯的原因是編譯版本低於1.7時,’<>’這種省略型別的泛型語法不可用。 - 搜尋該錯誤,得到的答案大約為兩種:
- 大部分複製貼上的答案都是在eclipse中遇見的該錯誤,解決方案是設定專案的java編譯版本和jdk版本為1.7及以上。檢查了我的idea的相關設定,都是1.8的版本沒問題,該答案沒有解決我的問題;
- 在使用泛型時不要寫省略語法:
Map<String, String> genders = new HashMap<String, String>();
可是這樣等於使用了老版本的java語法,並沒解決根本問題
- 解決方法:
這裡的問題其實是本地安裝的tomcat中配置的jsp編譯版本是低於1.7的,而設定IDE中的編譯版本並不能解決這個問題,這裡需要找到本地tomcat的安裝目錄下的web.xml檔案,路徑如下:\Tomcat\Tomcat7.0\conf\web.xml,開啟以後找到JspServlet的配置如下:
<servlet>
<servlet-name >jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param >
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
在其中新增jsp編譯版本的設定:
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.8</param-value>
</init-param>
儲存,OK,然後要記得在IDE中重新發布專案(注意清理快取),在訪問原來出問題的jsp頁面,這次就不會報錯了~
- 涉及到的各個工具及版本:
IntelliJ IDEA 2017.1 x64
Tomcat 7.0
jdk1.8.0_65
相關推薦
idea javaweb專案 jsp頁面報錯:''operator is not allowed for source level below 1.7
今天在使用idea做練習時,某個jsp頁面報錯如下: '<>'operator is not allowed for source level below 1.7 出錯程式碼如下:
解決IDEA中的operator is not allowed for source level below 1.7
<>operator is not allowed for source level below 1.7 不難看出報錯的原因是編譯版本低於1.7時,’<>’這種省略型別的泛型語法不可用。 搜尋該錯誤,得到的答案大約為兩種: 大部分複製貼上的答案都是在ecl
mysql遠端連線報錯: Host * is not allowed to connect to this MySQL server,解決方法
解決此問題有以下2個方法: localhost改成% 1.進入mysql的BIN目錄 注:root為管理員使用者名稱,password為使用者root的密碼: mysql -u root -p password mysql>use mysql; my
JSP頁面報錯:“Uncaught SyntaxError: Unexpected token <”
spa 標簽 round 個人 java expect 使用 src class 最近在做一個個人主頁博客網站的項目,遇到了這個問題。 當瀏覽器該頁面提示錯誤“Uncaught SyntaxError: Unexpected token <”時,瀏覽器通常情況
Springboot訪問jsp頁面報錯:javax.servlet.jsp.JspFactory.getJspApplicationContext
搭建springboot專案時,專案啟動成功,訪問jsp頁面跳轉時報錯,錯誤如下: java.lang.NoSuchMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servl
Spring AOP表示式報錯:Pointcut is not well-formed: expecting 'name pattern' at character position
問題現象: java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.cache.DefaultCacheAwareContextLoader
Spring AOP表達式報錯:Pointcut is not well-formed: expecting 'name pattern' at character position
ret reg tin lips aspect lock alua depend internal 問題現象: java.lang.IllegalStateException: Failed to load ApplicationContext at org.
Laravel 5.1 報錯:[AppHttpRequestsRequest] is not instantiable
like php 報錯 sts http 路徑 bin requests lin Laravel 5.1 報錯:[App\Http\Requests\Request] is not instantiable 錯誤提示: Whoops, looks like some
golang 在 centos 7 上編譯報錯: import cycle not allowed
查看了環境變數,go env 看了安裝目錄和 go 的版本 go version 看了原始碼和第三方庫的下載情況。 go get *** 都沒有問題,準備重新安裝 go 因為發現與 win10 上的版本不一致 win10 上是 1.11, 正常 ce
git報錯:Pull is not possible because you have unmerged files解決方法
git pull 的時候報如下錯誤程式碼: error: Pulling is not possible because you have unmerged files. 嘗試用git stash沒有作用。 Pull is not possible because you have
轉載:解決Navicat 報錯:1130-host ... is not allowed to connect to this MySql server,MySQL不允許從遠端訪問的方法
1.改表法。 可能是你的帳號不允許從遠端登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登入mysql後,更改 “mysql” 資料庫裡的 “user” 表裡的 “host” 項,從"localhost"改稱"%" mysql -u
react-native 編譯報錯: undefined is not an object (evaluating '_react2.PropTypes.func')
情況通報: 因為是我的二維碼模組報錯,提示報錯程式碼如下 重要資訊是下面的紅色字型部分(Android 模擬器紅屏) undefined is not an object (evaluating '_react2.PropTypes.func')<unknown> D:\CDM_POS_AP
javascript報錯:ReferenceError: $ is not defined解決辦法
js報錯:ReferenceError: $ is not defined。 在執行重新整理專案介面時,通過瀏覽器控制檯發現錯誤ReferenceError: $ is not defined,如下圖所示: 部分介面程式碼如下: 解決方法: 我們不難發現script位置有問題,因
javaJunit單元測試報錯:Test is not an annotation type
今天寫一個小demo是用到單元測試,但是當我在方法上加上@Test的時候報錯:Test is not an annotation type 最後發現是因為我的同一個包裡面有一個叫做Test的類,衝突了。把Test類改個名字或者刪掉,問題解決。
MyBatis報錯:There is no getter for property named 'xxx' in 'class java.lang.String'
在Mybatis的mapper檔案如果傳入的是一個字串型別的引數,且將該引數用來在<if test='"">判斷時,如果直接用引數名來判斷,則會報如標題所示的錯誤, 正確程式碼如下: &l
解決React Native報錯:undefined is not an object (evaluating 'sceneConfig.animationInterpolators')
呼叫this.props.navigator.resetTo出現以下問題 undefined is not an object (evaluating ‘sceneConfig.animationInt
webdriver 報錯:Element is not clickable at point (993, 61). Other element would receive the click
今天跑指令碼發現出現了一個報錯:Element is not clickable at point (993, 61). Other element would receive the click 分析原因,首先肯定不是因為頁面元素不存在而無法點選。 再看了一下target
解決Selenium報錯:Element is not clickable at point (x, y). Other element would receive the click
用Python寫路由器控制指令碼的時候遇到這個問題,Selenium提示如下: Message: Element is not clickable at point (1191.5, 143). Other element would receive the click:
Mybatis報錯:There is no getter for property named 'xxxx' in 'class xxxx
在網上看見了不少的處理方法,可能每個人遇到的問題一樣,但是出問題的地方不一樣,我所遇到的這個問題,我是如下處理的。我在做JUnit測試的是時候報的這個錯誤,報錯如下:Caused by: org.apache.ibatis.reflection.ReflectionExcep
異常處理:Mybatis報錯:There is no getter for property named 'xxxx' in 'class xxx'
bat 變量 應該 img 分享 mybatis quest 情況 定義 /1、報錯信息: 2、根據報錯的信息,提示我們少了一個getter方法。那麽我們是不是真的就少了這個getter呢?這個時候更應該去檢查我們的model中是不是有某個詞寫錯了。因為當我們定義的這個變