前些日子从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。可以解决