原文鏈接:http://blog.csdn.net/u012849872/article/details/51035938
maven工程標准目錄結構:
src
-main
–bin 腳本庫
–java java源代碼文件
–resources 資源庫,會自動復制到classes目錄里
–filters 資源過濾文件
–assembly 組件的描述配置(如何打包)
–config 配置文件
–webapp web應用的目錄。WEB-INF、css、js等
-test
–java 單元測試java源代碼文件
–resources 測試需要用的資源庫
–filters 測試資源過濾庫
-site Site(一些文檔)
target
LICENSE.txt Project’s license
README.txt Project’s readme
target是有存放項目構建后的文件和目錄,jar包、war包、編譯的class文件等。
target里的所有內容都是maven構建的時候生成的
問題說明:
在打包 war 包的時候,普通情況下只會打包src/main/resources下面的資源文件,在開發過程中我們也會把需要的配置文件放在這個目錄下。但是有些情況下會和 java文件放在同一個目錄下,比如 hibernate 的映射文件 .hbm.xml,還有 mybatis 的 *mapper.xml文件,一般情況都會和對應的 *VO.java 放在同一個目錄下。這樣利用maven打包時,就需要修改pom.xml文件,來把mapper.xml文件一起打包進jar或者war里了,否則,這些文件不會被打包的。(maven認為src/main/java只是java的源代碼路徑)。
下面是我的工程目錄,我想要把mapping 里的.xml文件打入 war包,都是mybatis的映射文件,通過測試下面這三種方式都可以:
方法一:直接在 標簽里添加
<build>
<finalName>SSMDemo</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
方法二:利用build-helper-maven-plugin插件
<plugs>
<!-- 此plugin可以用 利用此plugin,把源代碼中的xml文件, 打包到相應位置,這里主要是為了打包Mybatis的mapper.xml文件 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>add-resource</id>
<phase>generate-resources</phase>
<goals>
<goal>add-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugs>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
方法三:利用maven-resources-plugin插件
<plugins>
<!-- 此plugin可以用 利用此plugin,把源代碼中的xml文件,打包到相應位置, 這里主要是為了打包Mybatis的mapper.xml文件 -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-xmls</id>
<phase>process-sources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
以上參考文檔:
http://bglmmz.iteye.com/blog/2063856
maven工程標准目錄結構:
src
-main
–bin 腳本庫
–java java源代碼文件
–resources 資源庫,會自動復制到classes目錄里
–filters 資源過濾文件
–assembly 組件的描述配置(如何打包)
–config 配置文件
–webapp web應用的目錄。WEB-INF、css、js等
-test
–java 單元測試java源代碼文件
–resources 測試需要用的資源庫
–filters 測試資源過濾庫
-site Site(一些文檔)
target
LICENSE.txt Project’s license
README.txt Project’s readme
target是有存放項目構建后的文件和目錄,jar包、war包、編譯的class文件等。
target里的所有內容都是maven構建的時候生成的
問題說明:
在打包 war 包的時候,普通情況下只會打包src/main/resources下面的資源文件,在開發過程中我們也會把需要的配置文件放在這個目錄下。但是有些情況下會和 java文件放在同一個目錄下,比如 hibernate 的映射文件 .hbm.xml,還有 mybatis 的 *mapper.xml文件,一般情況都會和對應的 *VO.java 放在同一個目錄下。這樣利用maven打包時,就需要修改pom.xml文件,來把mapper.xml文件一起打包進jar或者war里了,否則,這些文件不會被打包的。(maven認為src/main/java只是java的源代碼路徑)。
下面是我的工程目錄,我想要把mapping 里的.xml文件打入 war包,都是mybatis的映射文件,通過測試下面這三種方式都可以:
方法一:直接在 標簽里添加
<build>
<finalName>SSMDemo</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
方法二:利用build-helper-maven-plugin插件
<plugs>
<!-- 此plugin可以用 利用此plugin,把源代碼中的xml文件, 打包到相應位置,這里主要是為了打包Mybatis的mapper.xml文件 -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>add-resource</id>
<phase>generate-resources</phase>
<goals>
<goal>add-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugs>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
方法三:利用maven-resources-plugin插件
<plugins>
<!-- 此plugin可以用 利用此plugin,把源代碼中的xml文件,打包到相應位置, 這里主要是為了打包Mybatis的mapper.xml文件 -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-xmls</id>
<phase>process-sources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31