- 問題:
maven的項目,是由maven來進行編譯的。maven會將項目編譯為以前的javaSE和javaEE的結構來運行。但是maven在編譯項目的時候,不會講java目錄下的配置文件編譯到項目中,也就是maven默認認為java目錄下只有java代碼,沒有其他文件。這樣造成在SSM項目中,mapper包中除了java代碼以外,還有mapper.xml文件,maven是不會將mapper.xml
文件被編譯到項目中的,造成項目運行失敗,怎么辦呢?
- 解決:
我們需要告訴maven在編譯項目中java代碼時,在java目錄下除了java代碼,還有配置文件,需要將配置文件也編譯到
項目中使用。我們需要在項目的pom.xml文件中配置相關標簽 即可
- 實現:
在項目的pom.xml文件的build標簽下使用resources子標簽來告訴maven需要將源碼中的xml文件也進行編譯:
<build> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>7070</port><!--配置tomcat啟動的端口號--> <path>/ty</path><!--配置項目的訪問名稱--> </configuration> </plugin> </plugins> <!--告訴maven將項目源碼中的xml文件也進行編譯,並放到編譯目錄中--> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build>