今天在整理框架的时候,看到了一段很奇怪的maven插件配置代码,如下:
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
|
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>base</classifier>
<excludes>
<exclude>**/configuration/error/**</exclude>
<exclude>**/configuration/web/Interceptor/**</exclude>
<exclude>**/configuration/web/InterceptorConfig.*</exclude>
<exclude>**/base/controller/**</exclude>
<exclude>**/configuration/web/response/ControllerResponseBodyAdvice.*</exclude>
<exclude>**/configuration/web/UnderTowConfiguration.*</exclude>
<exclude>**/storage/**</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
|
这一段代码,在配置org.apache.maven.plugins.maven-jar-plugin
插件,我们让这个插件在打包的时候,忽略指定的.class文件。为什么会有这样的需求呢?因为我们的部分项目将FeignClient的代码和Application的代码写在了一起,所以我们在打包的手需要将一些文件给exclude出去。
我首先是不支持将FeignClient的代码和Application的代码写在一起的,我会开两个Module隔离这些代码;其次,我是不主张这部分过度依赖旧框架的项目升级到新框架的,我主张的是将框架直接推到重写,我们的目标就单纯的是新项目。