工程框架:SpringMVC+Mybatis+FreeMarker
打开项目
配置Modules。首先配置依赖jar
配置web项目
配置spring
选中spring的配置文件
添加artifact
选中之前创建的module
之后就可以添加Tomcat进行测试了。
首先配置下本地Tomcat:
配置artifact:
配置项目名称,也可以使用"/"。
给工程添加依赖的jar包支持。
添加完成后:
修改下配置好的artifact
如运行后提示:
表示找不到javaee的websocket包,可能原因是:
myeclipse中内置的有websocket包,而IDEA没有。
解决方法有两种:
1.添加javaee包到lib下(不建议使用,部署的时候容易造成包冲突)
复制到lib并将该包导入module:
2. 添加Tomcat下的websocket-api包(provided模式)到idea依赖中(推荐使用)
首先确定IDEA配置的Tomcat下有websocket-api包,如果没有可手动添加:
然后添加Tomcat到依赖中:
并查看scope是否为provided。
关于scope的compile与provided的区别:
scope=compile的情况(默认scope),也就是说这个项目在编译,测试,运行阶段都需要这个artifact对应的jar包在classpath中。而对于scope=provided的情况,则可以认为这个provided是目标容器已经provide这个artifact。
以本例说明,Tomcat这个包其实是目标容器(即Tomcat)已经支持的包,便不需要使用scope=compile
简而简之,compile会将依赖的jar包打到WEB-INF下的lib中,provided不会。
由于更改了Tomcat的配置,这样之后有可能之前给工程配置的Tomcat就不可用了,这时可重新添加部署项目。
关于添加websocket-api包,也可使用偷懒的作法,单独将Tomcat的lib下的websocket-api包加到依赖中,但同样得保证使用的是scope=provided:
完成。