2. 项目结构
三、开始 1、最终打包的目录可以根据自己的需要进行修改。
<properties> <mzservice.path>${project.build.directory}/mzservicemzservice.path> properties>
2、配置清理插件,在每次打包前清理之前生成的打包目录。
<plugin> <artifactId>maven-clean-pluginartifactId> <version>2.5version> <executions> <execution> <id>auto-cleanid> <phase>initializephase> <goals> <goal>cleangoal> goals> <configuration> <skip>falseskip> <filesets> <fileset> <directory>${mzservice.path}directory> fileset> filesets> configuration> execution> executions> plugin>
3、将自己的项目打包为jar,放到lib目录下,不带依赖。
<plugin> <groupId>org.apache.maven.pluginsgroupId> <artifactId>maven-jar-pluginartifactId> <configuration> <archive> <manifest> <addClasspath>trueaddClasspath> <classpathPrefix>../lib/classpathPrefix> <useUniqueVersions>falseuseUniqueVersions> <mainClass>com.mz.mzservice.MzServiceApplicationmainClass> manifest> <manifestEntries> <Class-Path>../config/Class-Path> manifestEntries> archive> <excludes> <exclude>**/*.xmlexclude> excludes> <outputDirectory>${mzservice.path}/lib/outputDirectory> configuration> plugin>
4、将项目依赖的jar复制到lib目录下。
<plugin> <groupId>org.apache.maven.pluginsgroupId> <artifactId>maven-dependency-pluginartifactId> <executions> <execution> <id>copy-dependenciesid> <phase>packagephase> <goals> <goal>copy-dependenciesgoal> goals> <configuration> <outputDirectory> ${mzservice.path}/lib/ outputDirectory> configuration> execution> executions> plugin>
5、将项目下的文件复制到以下。 将bin下的启动脚本复制到打包目录下,根据自己的需要进行修改。
<plugin> <artifactId>maven-resources-pluginartifactId> <executions> <execution> <id>copy-resourcesid> <phase>packagephase> <goals> <goal>copy-resourcesgoal> goals> <configuration> <resources> <resource> <directory>src/main/resourcesdirectory> resource> resources> <outputDirectory>${mzservice.path}/configoutputDirectory> configuration> execution> <execution> <id>copy-binid> <phase>packagephase> <goals> <goal>copy-resourcesgoal> goals> <configuration> <resources> <resource> <directory>bin/directory> resource> resources> <outputDirectory>${mzservice.path}outputDirectory> configuration> execution> executions> plugin>
6. 跳过测试
<plugin> <groupId>org.apache.maven.pluginsgroupId> <artifactId>maven-surefire-pluginartifactId> <configuration> <skip>trueskip> configuration> plugin>
七、其他说明
网上其他一些文章会使用-boot-maven-插件来打包项目jar。 我个人认为这个插件是对其他插件的一些打包,打包后的jar里面会包含一些东西。
经过测试,感觉和maven-jar打包的jar在使用上没有什么区别。 欢迎对这方面有深入研究的朋友赐教。