先将我用到的自定义变量贴过来,防止插件中出现一些变量,大家不理解
- <!-- 全局属性配置 -->
- <properties>
- <project.build.name>tools</project.build.name>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
project.build.name: 用来定义war包名称
project.build.sourceEncoding: 用来定义资源文件的编码格式
下面开始讲解常用的maven插件配置
一、编译插件
- <!-- 编译插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <source>1.6</source>
- <target>1.6</target>
- <encoding>${project.build.sourceEncoding}</encoding>
- </configuration>
- </plugin>
source:源代码编译版本;
target:目标平台编译版本;
encoding:字符集编码。
二、设置资源文件的编码方式
- <!-- 设置资源文件的编码方式 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.4.3</version>
- <executions>
- <execution>
- <phase>compile</phase>
- </execution>
- </executions>
- <configuration>
- <encoding>${project.build.sourceEncoding}</encoding>
- </configuration>
- </plugin>
xml、properties文件都是资源文件,编码的时候遇到中文总要进行转码!用什么编码?UTF-8,那就记得强制<encoding>${project.build.sourceEncoding}</encoding>
三、自动拷贝jar包到target目录
- <!-- 依赖插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>2.6</version>
- <executions>
- <execution>
- <id>copy-dependencies</id>
- <phase>compile</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <!-- ${project.build.directory}为Maven内置变量,缺省为target -->
- <outputDirectory>${project.build.directory}/lib</outputDirectory>
- <!-- 表示是否不包含间接依赖的包 -->
- <excludeTransitive>false</excludeTransitive>
- <!-- 表示复制的jar文件去掉版本信息 -->
- <stripVersion>true</stripVersion>
- </configuration>
- </execution>
- </executions>
- </plugin>
在部署war包时,需要将项目依赖的jar包,也打到war包中,因此就会用到上述插件
四、生成源代码jar包
- <!-- 源代码打包插件 -->
- <plugin>
- <artifactId>maven-source-plugin</artifactId>
- <version>2.1</version>
- <configuration>
- <!-- <finalName>${project.build.name}</finalName> -->
- <attach>true</attach>
- <encoding>${project.build.sourceEncoding}</encoding>
- </configuration>
- <executions>
- <execution>
- <phase>compile</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
该插件主要用于在打jar包时,把源代码也打成jar包
五、将项目打成jar包
- <!-- jar包插件 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>2.4</version>
- <configuration>
- <archive>
- <manifest>
- <!-- 告知 maven-jar-plugin添加一个 Class-Path元素到 MANIFEST.MF文件,以及在Class-Path元素中包括所有依赖项 -->
- <addClasspath>true</addClasspath>
- <!-- 所有的依赖项应该位于 lib文件夹 -->
- <classpathPrefix>lib/</classpathPrefix>
- <!-- 当用户使用 lib命令执行JAR文件时,使用该元素定义将要执行的类名 -->
- <mainClass>com.zhengtian.tools.service.phone.MobilePhoneTool</mainClass>
- </manifest>
- </archive>
- </configuration>
- </plugin>
在将项目打成jar包时,有时会需要将项目打成可以直接运行的jar包,因此就需要将项目依赖的jar包也打入jar包中,此时需要在Eclipse上安装例外一个插件,用来打可执行jar包,详情见链接http://zheng12tian.iteye.com/blog/1765626