9 真</ addClasspath>
10 lib / </ classpathPrefix>
11 $ {scripts_bootMain} </ mainClass>
12 </ manifest>
13 < / archive>
14 <!-打包排除项->
15
16 ** / *。yml </ exclude>
17 ** / *。属性</ exclude>
18 ** / *。xml </ exclude>
19 ** / *。sh </ exclude>
20 </ excludes>
21 </ configuration>
22
23
24 make -a -jar </ id>
25 compile </ phase>
26
27 jar < / goal>
28 </ goals>
29 </ execution>
30 </ executions>
31 </ plugin>
32
33
34 org.apache.maven.plugins </ groupId>
35 maven-assembly -plugin </ artifactId>
36 2.4 </ version>
37 <!-插件的配置->
38
39 <!-指定程序集插件的配置文件->
40 <描述符>
41 <描述符> $ {project.basedir}/src/main/assembly/assembly.xml </ descriptor>
42 </ descriptors>
43 </ configuration>
44
45
46 make-assembly </ id>
47 包</阶段>
48 <目标>
49 <目标>单个</目标>
50 </目标>
51 </执行>
52 </执行>
53 </插件>
如下的地方如下几点:
-
mainClass代理:用于指定启动main函数入口类路径,如此处的:com.sm.EurekaServerApplication
-
不包括摘要:排除主罐包中配置等一些列后缀文件,因为我们要包这些配置文件放到主包外面
-
描述符描述符:用于指定程序集插件对应的assembly.xml配置文件
有了上面的mvn配置,我们还需要Assembly.xml的配置,这里提取了结合shell脚本发布程序的配置:
<assembly xmlns = “ http://maven.apache.org/ASSEMBLY/2.0.0” xmlns:xsi = “ http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation = “” http:// /maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd
http://maven.apache.org/ASSEMBLY/2.0.0“ >
$ {activeProfile} </ id>
<!-打包成一个用于发布的zip文件->
zip </ format>
</ formats>
<!- true:zip中生成一级目录(此处屏蔽,配合脚本需要profiles后缀)->
false </ includeBaseDirectory>
<!-打包进来的zip文件的lib目录->
假</ useProjectArtifact>
$ {package-name} - $ {activeProfile} / lib </ outputDirectory>
false </ unpack>
<