前些日子從Windows上移步到mac上開發,IDE從eclipse換成了intellij,記錄過程中遇到的問題
1、從Intellij中導入maven工程
參考文檔:
https://www.jetbrains.com/idea/documentation/
https://www.jetbrains.com/help/idea/2016.3/discover-intellij-idea.html
2、在intellij和在mac下用mvn編譯時,總是報:maven 不兼容的類型。但是之前在windows上用eclipse時,沒有遇到過此問題。
原因:intellij在編譯工程時,用的是指定的mac機器下的mvn命令編譯的,mvn編譯用的是javac,eclipse下用的是自帶的Java development tools,javac的編譯規則更爲嚴格。
看文章:http://blog.csdn.net/liushuijinger/article/details/44618557
因爲mac上沒有再裝eclipse,解決方法就是直接把代碼中的報錯的地方按照intellij中的提示改正過來就可以了。
3、intellij中設置的jdk、maven需要和測試工程中指定的jdk一致,同時測試工程中的Spring版本一致。
4、java.lang.NoSuchMethodError: org.springframework.beans.factory.annotation.InjectionMetadata.<init>(Ljava/lang/Class;)
原因:Spring-orm.jar版本號要跟Spring-beans.jar版本號一致。且Spring-orm不可缺失。
1)看依賴的Spring版本號,有spring-tx是2.5.6版本的,其他的都是3.0.6.RELEASE版本。先把不一致的版本號排掉。
2)在intellij中查看依賴圖,搜索 Spring-tx,看到依賴,右擊該依賴項將其exclude
3)此時報錯沒有解決,發現依賴的包裏少了spring-orm.jar,將spring-orm.jar添加到pom中,此處版本號選擇同Spring-beans一致的3.0.6.RELEASE重新compile。可以解決