eclipse中有关maven的那些踩过的坑!
折腾了两天,终于搞定了。再次记录。
首先说明我的问题。1.发布到tomcat后项目启动报错,不能创建sqlSessionFactory...检查配置文件后没有发现错误。确定不是文件本身的问题。
然后去tomcat发布目录下,发现没有对应的配置文件!也就是说项目发布的时候配置文件没有被发布
2.由此又发现新的问题,为什么没被发布?maven 项目被编译后的文件都在target目录下对吧。我去看了自己的,发现里面没有配置文件!!target里面没有,怎么可能会发布成功。我试过无数次办法后,用如下办法解决了,在pom.xml文件中加入
<build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>
注意我标红的部分,这部分的作用就是,让你src/main/java/下的所有.xml文件也可以被正常的复制到target文件夹下。因为我把mybatis的mapper文件放在src/main/java下面了。还有,让你src/main/resources下的所有.properties .xml文件可以被正常的复制到target文件夹下。
配置好上面这些以后,最关键的!不要使用下图的命令
这个eclipse自带的maven命令,很可能是集成了两个命令。clean 和compile.eclipse帮你编译的是有问题的,经常不能把所有文件都编译出来,所以你看到target目录下文件是不全的。在你发布的时候就会失败。
因此要手动编写命令。点击
手动输入 clean compile 这样编译的文件才是没有问题的。不会缺胳膊少腿。因为配合使用了pom.xml文件中的加入的那些配置。这样项目编译部分的问题就全部解决了。
3.在说说发布的问题。eclipse默认的发布项目的位置不是wabapps。而是wtpwebapps.这个其实也无关紧要,但是为了统一习惯,还是放到webapps最好。怎么做。看下图。
如果你的无法更改,是灰色的。说明当前tomcat下有项目。
现在应该就可以更改了,改完以后ctrl+s 保存一下。
到此,项目应该可以正常编译,并且发布了。如有相关问题,可以加我qq :774831911讨论。请注明博客园讨论。