Browse Source

层级化打包pom代码优化

huangbo 6 years ago
parent
commit
5a81f339f0
2 changed files with 15 additions and 113 deletions
  1. 7 91
      ipu-rest-demo/pom.xml
  2. 8 22
      ipu-rest-demo/src/main/assembly-package.xml

+ 7 - 91
ipu-rest-demo/pom.xml

117
				<groupId>org.springframework.boot</groupId>
117
				<groupId>org.springframework.boot</groupId>
118
				<artifactId>spring-boot-maven-plugin</artifactId>
118
				<artifactId>spring-boot-maven-plugin</artifactId>
119
			</plugin> -->
119
			</plugin> -->
120
			
121
			<!-- maven-resources-plugin默认会执行 -->
120
			<plugin>
122
			<plugin>
121
                <groupId>org.apache.maven.plugins</groupId>
123
                <groupId>org.apache.maven.plugins</groupId>
122
                <artifactId>maven-resources-plugin</artifactId>
124
                <artifactId>maven-resources-plugin</artifactId>
123
                <executions>
124
                    <execution>
125
                        <id>copy-resources</id>
126
                        <phase>compile</phase>
127
                        <goals>
128
                            <goal>copy-resources</goal>
129
                        </goals>
130
                        <configuration>
131
                            <encoding>${encoding}</encoding>
132
                            <resources>
133
                                <resource>
134
                                    <directory>${project.build.directory}/classes</directory>
135
                                    <includes>
136
                                        <include>**/*.properties</include>
137
                                        <include>**/*.xml</include>
138
                                        <include>**/*.yaml</include>
139
                                        <include>**/*.yml</include>
140
                                        <include>**/*.txt</include>
141
                                    </includes>
142
                                </resource>
143
                            </resources>
144
                            <!-- 表示把配置文件拷到和jar包同一个路径下 -->
145
                            <outputDirectory>
146
                                ${project.build.directory}/config
147
                            </outputDirectory>
148
                        </configuration>
149
                    </execution>
150
                </executions>
151
            </plugin>
152
            <!-- 复制依赖包 -->
153
            <plugin>
125
	        </plugin>
126
	        <plugin>
154
                <groupId>org.apache.maven.plugins</groupId>
127
                <groupId>org.apache.maven.plugins</groupId>
155
                <artifactId>maven-dependency-plugin</artifactId>
128
                <artifactId>maven-dependency-plugin</artifactId>
156
                <executions>
157
                    <execution>
158
                        <id>copy-dependencies</id>
159
                        <phase>package</phase>
160
                        <goals>
161
                            <goal>copy-dependencies</goal>
162
                        </goals>
163
                        <configuration>
164
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
165
                        </configuration>
166
                    </execution>
167
                </executions>
168
            </plugin>
129
            </plugin>
169
            <plugin>
130
            <plugin>
170
                <groupId>org.apache.maven.plugins</groupId>
171
                <artifactId>maven-jar-plugin</artifactId>
172
                <configuration>
173
                    <archive>
174
                        <!--生成的jar中,不要包含pom.xml和pom.properties这两个文件-->
175
                        <addMavenDescriptor>false</addMavenDescriptor>
176
                        <manifest>
177
                            <!--是否要把第三方jar放到manifest的classpath中-->
178
                            <addClasspath>true</addClasspath>
179
                            <!--生成的manifest中classpath的前缀,lib存放第三方jar-->
180
                            <classpathPrefix>lib/</classpathPrefix>
181
                            <!--应用的main class-->
182
                            <mainClass>com.ai.ipu.server.demo.IpuRestDemoStart</mainClass>
183
                        </manifest>
184
                        <!-- 自定义的MANIFEST.MF参数 -->
185
                        <manifestEntries>
186
                        	<!-- 增加classpath目录config -->
187
                            <Class-Path>./config/</Class-Path>
188
                        </manifestEntries>
189
                    </archive>
190
                    <!--过滤掉不希望包含在jar中的文件-->
191
                    <excludes>
192
                        <exclude>**/*.properties</exclude>
193
                        <exclude>**/*.xml</exclude>
194
                        <exclude>**/*.yaml</exclude>
195
                        <exclude>**/*.yml</exclude>
196
                        <exclude>**/*.txt</exclude>
197
                    </excludes>
198
                </configuration>
131
	            <groupId>org.apache.maven.plugins</groupId>
132
	            <artifactId>maven-jar-plugin</artifactId>
199
            </plugin>
133
            </plugin>
200
			
201
			<plugin>
134
            <plugin>
202
                <groupId>org.apache.maven.plugins</groupId>
135
                <groupId>org.apache.maven.plugins</groupId>
203
                <artifactId>maven-assembly-plugin</artifactId>
136
                <artifactId>maven-assembly-plugin</artifactId>
204
                <version>2.4</version>
205
                <!-- The configuration of the plugin -->
206
                <configuration>
207
                    <!-- Specifies the configuration file of the assembly plugin -->
208
                    <descriptors>
209
                        <descriptor>src/main/assembly-package.xml</descriptor>
210
                    </descriptors>
211
                </configuration>
212
                <executions>
213
                    <execution>
214
                        <id>make-assembly</id>
215
                        <phase>package</phase>
216
                        <goals>
217
                            <goal>single</goal>
218
                        </goals>
219
                    </execution>
220
                </executions>
221
            </plugin>
137
            </plugin>
222
		</plugins>
138
		</plugins>
223
		<finalName>${project.artifactId}</finalName>
139
		<finalName>${project.artifactId}</finalName>

+ 8 - 22
ipu-rest-demo/src/main/assembly-package.xml

1
<assembly>
1
<assembly>
2
    <id>package</id>
2
    <id>bin</id>
3
    <formats>
3
    <formats>
4
        <format>zip</format>
4
        <format>zip</format>
5
        <!-- <format>tar.gz</format> -->
5
        <!-- <format>tar.gz</format> -->
6
    </formats>
6
    </formats>
7
    <!-- 把工程编译的jar打包进zip包的根目录 -->
8
    <files>
9
		<file>
10
			<source>${project.build.directory}/${project.artifactId}.jar</source>
11
			<outputDirectory>/</outputDirectory>
12
		</file>
13
	</files>
7
    <fileSets>
14
    <fileSets>
8
        <fileSet>
15
        <fileSet>
9
            <directory>${project.build.directory}/lib</directory>
16
            <directory>${project.build.directory}/lib</directory>
13
            <directory>${project.build.directory}/config</directory>
20
            <directory>${project.build.directory}/config</directory>
14
            <outputDirectory>/config</outputDirectory>
21
            <outputDirectory>/config</outputDirectory>
15
        </fileSet>
22
        </fileSet>
16
        <!-- 把工程编译的jar,打包进zip文件的根目录 -->
17
        <fileSet>
18
            <directory>${project.build.directory}</directory>
19
            <outputDirectory></outputDirectory>
20
            <includes>
21
                <include>${project.artifactId}.jar</include>
22
            </includes>
23
        </fileSet>
24
        
25
        <!-- 把项目相关的说明文件,打包进zip文件的根目录 -->
26
        <!-- 
27
        <fileSet>
28
            <directory>${project.basedir}</directory>
29
            <outputDirectory>/</outputDirectory>
30
            <includes>
31
                <include>README*</include>
32
                <include>LICENSE*</include>
33
                <include>NOTICE*</include>
34
            </includes>
35
        </fileSet> 
36
        -->
37
    </fileSets>
23
    </fileSets>
38
</assembly>
24
</assembly>