intellij idea 測試用例【Invalid byte 3 of 3-byte UTF-8 sequence】問題解決方法及疑惑

   由於最近intellij idea 蠻火,我也想趕一下潮流,但是由於種種原因,在上週項目大改造的時候我正好選用這個軟件,但是在使用過程中遇到了一個讓我很糾結的問題,直到今天下午才鬼使神差的解決了。具體的情況如下:

   項目以前是在eclipse下開發的,轉到intellij idea下後項目成功的跑了起來,這個是很讓人開心的,但是在跑測試用例的時候卻出了問題。具體的問題如下:

org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [D:\myworkspace\........\target\classes\spring\test-config.xml]; nested exception is com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF-8 sequence.

   出了問題後,二話不說立刻百度,百度上面也有一些解決方法,大致的思路是文件中存在非utf-8的字符,導致除此錯誤,解決方法爲:拷到一個記事本中,然後另存爲utf-8文件。我的思路和這個大致相似,所以,在上週和今天的大部分時間裏我都在試圖去找到文件中的非utf-8字符,這也花了相當大的精力和耐心。但是也讓我發現一個很奇葩的問題,具體奇葩如下:

   非utf-8字符,我主要定位在漢字註釋中,當我刪除所有的漢字註釋後,問題解決了!!!!但是,這種方法很不正規,註釋是不能去掉的。於是,我試圖去挨個去嘗試各種方法,於是發現了一下現象:

   1. 改前:<!-- mysql庫配置 -->;報錯

   2. 改後:<!-- mysql庫配置啊 -->;不報錯

   3. 在該項目的任何配置文件中單獨或組合加入“庫”、“配”、“置”等字時;報錯


   以上問題讓我懷疑,這個也許並我是我的文件的問題,而是編譯插件的問題

   

   http://hi.baidu.com/wsndbhs/item/54224808755aae1ceafe38e7

   標題:intellij idea 編碼不可映射字符

   這其中就是講述了在編譯過程中編碼的問題,我嘗試使用其中的設置,Settings(Ctrl+Alt+S)->Project Setting->Compiler->Java Complier->Use complier選擇Eclipse

   這個竟然可以了!!!!這是多麼讓人高興的事情啊!!!


   這個並不是事情的結局,我發現,當我改代碼的時候,是可以成功跑起來測試用例的,但是在修改xml文件的時候,老錯誤又來拜訪我了,我不得不重新package一下,這個就是我目前笨拙地解決方案,但是這個方案明顯是不成熟,沒有搞清楚根源的,所以,如果各位對這方面比較瞭解的話,麻煩告訴我一下。



尚未解決的問題:

   1. use compfile:javac爲什麼出現這個問題,而eclipse不會?

   2. 修改代碼後,intellij idea對新修改的代碼的編譯流程是這麼樣的?爲什麼沒有用到以上配置?


   還是請大家集思廣益,給小弟個明白!!!

   

   

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章