初学SpringMVC,在Intellij Idea下开发遇到许多问题,有些在网上几乎找不到解决办法,在跟人交流或自己慢慢摸索中终于找到解决方案,或许不是最好的,但确实有效。特此记录一下以免以后忘记。
开发环境: Intellij Idea 15.0.1
Maven 3.0.5
Tomcat 8.0.32
Spring framework 4.2.5.RELEASE
1. 创建工程后没有src目录
src目录是工程根目录下存放源文件的目录,Intellij Idea 16开始才自动生成,旧版本需要手动创建,创建方法:在工程目录下右键单击 New -> Directory,新文件夹命名为src,同样的方法在src目录下创建 main/java 子目录,在java目录上按快捷键 Ctrl + Shift + Alt + S 打开Project Structure (或是单击菜单 File -> Project Structure ),单击Modules,选中java目录,单击Sources将其设为 source folder
设置好后java目录的图标会变成蓝色,代表java目录是一个源文件目录
2. 无法新建java package的问题
只有在source folder下才能创建java包,因此需要在Project Structure 中将制定目录设为source folder,具体方法见上一个问题
3. 无法设置Tomcat
通常单击 Run -> Edit Configurations ,在里面可以添加Tomcat服务,如下图
(图片摘自https://segmentfault.com/q/1010000002419203)
但是我一开始在Intellij Idea 16.1.1 版本上找不到,后来发现 Community 版本没有集成Tomcat,所有只能选择其他版本,另外 https://segmentfault.com/q/1010000002419203
里面介绍了另一种情况,即Tomcat插件被禁用,原文里也给出了具体的解决方法,这里不再赘述
4. maven添加了spring的相关依赖后在java文件中仍然无法导入spring的包
这是最坑爹的问题,因为Intellij Idea不会自动将maven的依赖包加入到build Path中,在工程目录的External Libraries 下可以看到只有jdk库而没有maven,即使我已经在pom.xml中加入了spring-webmvc依赖(注意,spring核心的几个依赖包在spring-webmvc的依赖列表中,根据依赖传递原则,我们不必添加这些包,也是为了避免版本冲突)
在参考 http://blog.youkuaiyun.com/aya19880214/article/details/46814961 之后终于解决这个问题。下面是从原文中摘录的解决方法:
IDEA内置了Maven环境,默认采用Maven解决项目依赖问题。在新建项目后,项目的路径中会生成pom.xml文件和项目名.iml文件。新建项目后,IDEA不会自动刷新Maven的依赖。以Spring Application为例,新建项目编译时提示以下错误信息:
java: 程序包org.springframework.stereotype不存在
java: 程序包org.springframework.context不存在
java: 程序包org.springframework.context.support不存在
刷新Maven配置的方法为:
(1)右键单击项目;
(2)在弹出菜单中选择Maven|Reimport菜单项。
此时,IDEA将通过网络自动下载相关依赖,并存放在Maven的本地仓库中。另外,可以将Maven的刷新设置为自动,配置方法为:
(1)单击File|Setting菜单项,打开Settings选项卡;
(2)在左侧的目录树中,展开Maven节点;
(3)勾选Import Maven projects automatically选择项。
另外,完成上述步骤点击 Build -> Rebuild Project 更新项目,结果如下