1. 程式人生 > >Java常見報錯資訊及解決方式

Java常見報錯資訊及解決方式

1. com.alibaba.fastjson.JSONException: syntax error, expect {, actual int, pos 1, json : 0

com.alibaba.fastjson.JSONException: syntax error, expect {, actual int, pos 1, json : 0
	at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:197)
	at com.alibaba.fastjson.parser.deserializer.MapDeserializer.deserialze(MapDeserializer.java:64)
	at com.alibaba.fastjson.parser.deserializer.MapDeserializer.deserialze(MapDeserializer.java:41)
	at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:661)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:365)
	at com.alibaba.fastjson.JSON.parseObject(JSON.java:269)
	at shijiwxy.web.controller.SurveyController.getSurveyDetail(SurveyController.java:815)
	at shijiwxy.web.controller.SurveyController$$FastClassBySpringCGLIB$$49418525.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)

報錯原因是:原因是報錯行傳入的json是無效的,或者說不是json,自行檢查json串即可。

2. Invalid bound statement (not found),我的問題是MyBatis操作資料庫的時候訪問報錯,原因是MyBatis中的*Mapper.xml檔案沒有編譯進入target檔案中。解決方案如下:

(1)常規解決方案(①和②都可以)

         ① 把*Mapper.xml檔案放到resource資料夾下管理

         ② pom配置一下編譯xml檔案

	<resource>
    		<directory>src/main/java</directory>
    		<includes>
        		<include>**/*.xml</include>
    		</includes>
	</resource>

(2)我的解決方式,我是idea,後來發現是resource寫錯了,後來改成resources就可以了(應該是專案中已經提提前配置好resources了,所以必須是這個名字)。另外資料夾右擊--->Mark Directory as --->Test Resources Root即可。