由於最近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對新修改的代碼的編譯流程是這麼樣的?爲什麼沒有用到以上配置?
還是請大家集思廣益,給小弟個明白!!!