前沿:
最近在学习ssm框架,使用的idea做的开发,使用自带的Artifact打包程序,但是放在源码下的mapper.xml文件不会被复制到web目录下,所以使用了maven,但是使用maven命令打包解决问题后,发现又不能调试代码,只能通过tomcat日志来看报错的地方。所以想通过想结合两者来打包,然后就折腾了一下:
正文:
(因为内容先在onenote上写的复制过来就成图片了,不知道为啥- -)
第一次写,有什么不对的地方望指出。
其他问题:
1.在配置Artifact的地方如果修改了一些配置,下方会出现提示:
Artifact XXXXXX:war exploded: artifact 'XXXXXX:war exploded' is imported from Maven. Any changes made in its configuration may be lost after reimporting.
从这里可以看出其实Artifact的配置信息来自于pom.xml,只要reimport maven配置,就会出现之前配置过的输出目录不知道为什么有变成项目下的tartget/classes/....位置了。但是去google查了和idea的官网中都没有找到任何能配置输出目录的信息,不知道是否有人知道。(突然间觉得这个功能就是来搞事的。)
2.接着上面的情况,在折腾的过程中曾经确实出现过这种情况:在pom.xml中追加的复制mapper.xml的目录出现在里面,但是后面不知道为啥又没有了。反正很莫名其妙的。
然后各种修改pom.xml结果要么原本该在web-inf/classes下的.class文件全部跑到web-inf下,要么就是web.xml,application-context.xml,dispatcher-servlet.xml跑到classes文件夹下。然后gc来了,我把所有的配置除了依赖全部注释掉了,然后重新打包发布,之前的问题依然存在,然后我重新创建了一个新的,把代码全部复制过去一切又恢复正常了,所以大致猜测了下pom.xml的配置执行后会让整个项目出现不可逆的情况,不知道这个观点是否正确?
3.默认使用的Artifact,有时候打包的时候web目录会包含web.xml,*.jsp等文件,有时候又没有,不知道什么情况。
以上的问题欢迎来来讨论。
网友评论