初次使用,可能存在误解误区和不完善的地方,注意.
案例:使用maven聚合工程,springmvc,mybatis和dubbox链接,
1.idea的maven创建web项目的时候存在的下载插件问题,经常要卡四五分钟.
解决方案:
web工程可以使用这个模板,然后在选择maven版本的时候,加上这一行
archetypeCatalog internal
即可在本地仓库加载模板不连接远程仓库,实现快速建立.
补充:这个是父工程pom工程模板
建立pojo等jar工程模块则直接不选模板即可.
web工程创建后有时候会没有eclipse那种src/main/java和test等文件夹,手动创建好后修改一下pom,他们就会被自动加入成资源文件和源文件了.
-
2.项目中有时候会出现spring的依赖问题,注意检查是否添加上配置文件
3.在IDEA中使用maven工程来使用dubbo和mybatis,一开始出现了无法连接的bug,看到有人说是因为IDEA不会自动把mybatis的sqlXML文件编译项目下target文件夹到classes文件夹中,因为持久层编译的类和xml不在同一块导致无法读取xml文件所以报错.笔者一开始也以为是类似的问题,故使用
src/main/java
**/*.*
src/main/resources
**/*.*
但是问题还在
最后是删了改模块并重新建立一次模块解决的问题
查看了持久层模块的工程目录下的target.classes下,发现不加上面这行其实也编译进去了并且成功运行了,原因猜测是
1.在resources下创建目录,需求是在a下面创建b,然后在b下面创建c
如果是在IDEA中,创建目录输入a.b.c即可,但是在eclipse中,需要先创建a,然后在a下面新建b,再在b下面新建c,如果输入a.b.c,则会创建一个叫a.b.c的文件夹,并不会分层,导致xml所编译的文件与class不一致.
这两个是不一样的
但是在IDEA中,新建a.b.c,和在a下建立b,然后在b下建立c,是同样的
说了这么多,实际上编译到同一个目录下还是跑不起来,只好删了这个maven模块,重新建立一个一模一样的,就能跑起来了(试了两次,确信),真的是啥都没改,重建就OK
后续再扩展补充.