maven pom.xml

  1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3     <parent>
  4         <!--公司或者组织的唯一标志,并且配置时生成的路径也是由此生成,maven会把该项目打包成的jar包放在本地路径/com/hengyunsoft-->
  5         <groupId>com.hengyunsoft</groupId>
  6         <artifactId>security-enterprise</artifactId>
  7         <version>2.3.0</version>
  8     </parent>
  9     <!--模型版本。maven2.0必须这样写,现在是maven2唯一支持的版本-->
 10     <modelVersion>4.0.0</modelVersion>
 11     <!--本项目的唯一ID,一个groupId下面可能有多个项目,就是靠artifactId来区分的-->
 12     <artifactId>hengyun-admin</artifactId>
 13     <!--打包的机制,如pom,jar,ejb,war等,默认jar-->
 14     <packaging>jar</packaging>
 15     <description>hengyun-admin</description>
 16     <!-- 为pom定义一些常量,在pom中的其它地方可以直接引用 使用方式 如下 :${quartz.version} -->
 17     <properties>
 18         <quartz.version>2.3.0</quartz.version>
 19         <shiro.version>1.4.0</shiro.version>
 20         <kaptcha.version>0.0.9</kaptcha.version>
 21         <easypoi.version>3.1.0</easypoi.version>
 22         <qiniu.version>[7.2.0, 7.2.99]</qiniu.version>
 23         <aliyun.oss.version>2.8.3</aliyun.oss.version>
 24         <aliyun.core.version>3.2.2</aliyun.core.version>
 25         <aliyun.dysmsapi.version>1.1.0</aliyun.dysmsapi.version>
 26         <qcloud.cos.version>5.4.4</qcloud.cos.version>
 27         <qcloud.qcloudsms.version>1.0.5</qcloud.qcloudsms.version>
 28         <fastdfs.version>1.26.2</fastdfs.version>
 29         <freemarker.version>2.3.28</freemarker.version>
 30         <activiti.version>5.22.0</activiti.version>
 31         <starter.eureka.version>1.4.7.RELEASE</starter.eureka.version>
 32     </properties>
 33     <!--定义本项目的依赖关系-->
 34     <dependencies>
 35         <!--每个dependency都对应一个jar包-->
 36         <dependency>
 37             <!--一般情况下,maven是通过groupId、artifactId、version这三个元素(俗称坐标)来检索该构件,然后引入到工程,
 38             如果别人想引用你现在开发的这个项目(前提是已经开发完毕并发布到了远程仓库),就需要在他的pom文件中新建一个dependency
 39             节点,将该项目的groupId,artifactId,version写入,maven就会把你上传的jar包下载到他本地-->
 40             <groupId>com.hengyunsoft</groupId>
 41             <artifactId>hengyun-common</artifactId>
 42             <version>2.3.0</version>
 43         </dependency>
 44         <dependency>
 45             <groupId>com.hengyunsoft</groupId>
 46             <artifactId>hengyun-dynamic-datasource</artifactId>
 47             <version>2.3.0</version>
 48         </dependency>
 49         <dependency>
 50             <groupId>com.hengyunsoft</groupId>
 51             <artifactId>hengyun-bpm</artifactId>
 52             <version>2.3.0</version>
 53         </dependency>
 54         <dependency>
 55             <groupId>org.quartz-scheduler</groupId>
 56             <artifactId>quartz</artifactId>
 57             <version>${quartz.version}</version>
 58             <!-- 屏蔽依赖关系。 比如项目中使用的libA依赖某个库的1.0版,libB依赖某个库的2.0版,现在想统一使用2.0版,就应该屏蔽掉对1.0版的依赖 -->
 59             <exclusions>
 60                 <exclusion>
 61                     <groupId>com.mchange</groupId>
 62                     <artifactId>c3p0</artifactId>
 63                 </exclusion>
 64                 <exclusion>
 65                     <groupId>com.zaxxer</groupId>
 66                     <artifactId>HikariCP-java6</artifactId>
 67                 </exclusion>
 68             </exclusions>
 69         </dependency>
 70         <dependency>
 71             <groupId>org.apache.shiro</groupId>
 72             <artifactId>shiro-core</artifactId>
 73             <version>${shiro.version}</version>
 74         </dependency>
 75         <dependency>
 76             <groupId>org.apache.shiro</groupId>
 77             <artifactId>shiro-spring</artifactId>
 78             <version>${shiro.version}</version>
 79         </dependency>
 80         <dependency>
 81             <groupId>com.github.axet</groupId>
 82             <artifactId>kaptcha</artifactId>
 83             <version>${kaptcha.version}</version>
 84         </dependency>
 85         <dependency>
 86             <groupId>cn.afterturn</groupId>
 87             <artifactId>easypoi-base</artifactId>
 88             <version>${easypoi.version}</version>
 89         </dependency>
 90         <dependency>
 91             <groupId>cn.afterturn</groupId>
 92             <artifactId>easypoi-web</artifactId>
 93             <version>${easypoi.version}</version>
 94         </dependency>
 95         <dependency>
 96             <groupId>cn.afterturn</groupId>
 97             <artifactId>easypoi-annotation</artifactId>
 98             <version>${easypoi.version}</version>
 99         </dependency>
100         <dependency>
101             <groupId>com.qiniu</groupId>
102             <artifactId>qiniu-java-sdk</artifactId>
103             <version>${qiniu.version}</version>
104         </dependency>
105         <dependency>
106             <groupId>com.aliyun.oss</groupId>
107             <artifactId>aliyun-sdk-oss</artifactId>
108             <version>${aliyun.oss.version}</version>
109         </dependency>
110         <dependency>
111             <groupId>com.qcloud</groupId>
112             <artifactId>cos_api</artifactId>
113             <version>${qcloud.cos.version}</version>
114             <exclusions>
115                 <exclusion>
116                     <groupId>org.slf4j</groupId>
117                     <artifactId>slf4j-log4j12</artifactId>
118                 </exclusion>
119             </exclusions>
120         </dependency>
121         <dependency>
122             <groupId>com.aliyun</groupId>
123             <artifactId>aliyun-java-sdk-core</artifactId>
124             <version>${aliyun.core.version}</version>
125         </dependency>
126         <dependency>
127             <groupId>com.aliyun</groupId>
128             <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
129             <version>${aliyun.dysmsapi.version}</version>
130         </dependency>
131         <dependency>
132             <groupId>com.github.qcloudsms</groupId>
133             <artifactId>qcloudsms</artifactId>
134             <version>${qcloud.qcloudsms.version}</version>
135         </dependency>
136         <dependency>
137             <groupId>com.sun.mail</groupId>
138             <artifactId>javax.mail</artifactId>
139         </dependency>
140         <dependency>
141             <groupId>org.freemarker</groupId>
142             <artifactId>freemarker</artifactId>
143             <version>${freemarker.version}</version>
144         </dependency>
145         <dependency>
146             <groupId>com.github.tobato</groupId>
147             <artifactId>fastdfs-client</artifactId>
148             <version>${fastdfs.version}</version>
149         </dependency>
150 
151         <!-- activiti -->
152         <dependency>
153             <groupId>org.activiti</groupId>
154             <artifactId>activiti-spring-boot-starter-basic</artifactId>
155             <version>${activiti.version}</version>
156             <exclusions>
157                 <exclusion>
158                     <groupId>org.mybatis</groupId>
159                     <artifactId>mybatis</artifactId>
160                 </exclusion>
161             </exclusions>
162         </dependency>
163         <dependency>
164             <groupId>org.activiti</groupId>
165             <artifactId>activiti-explorer</artifactId>
166             <version>${activiti.version}</version>
167             <exclusions>
168                 <exclusion>
169                     <artifactId>vaadin</artifactId>
170                     <groupId>com.vaadin</groupId>
171                 </exclusion>
172                 <exclusion>
173                     <artifactId>dcharts-widget</artifactId>
174                     <groupId>org.vaadin.addons</groupId>
175                 </exclusion>
176                 <exclusion>
177                     <artifactId>activiti-simple-workflow</artifactId>
178                     <groupId>org.activiti</groupId>
179                 </exclusion>
180                 <exclusion>
181                     <artifactId>slf4j-log4j12</artifactId>
182                     <groupId>org.slf4j</groupId>
183                 </exclusion>
184             </exclusions>
185         </dependency>
186         <dependency>
187             <groupId>org.activiti</groupId>
188             <artifactId>activiti-diagram-rest</artifactId>
189             <version>${activiti.version}</version>
190         </dependency>
191         <dependency>
192             <groupId>org.activiti</groupId>
193             <artifactId>activiti-modeler</artifactId>
194             <version>${activiti.version}</version>
195         </dependency>
196         <!-- end activiti -->
197         <!-- jwt -->
198         <dependency>
199             <groupId>io.jsonwebtoken</groupId>
200             <artifactId>jjwt</artifactId>
201             <version>0.9.1</version>
202         </dependency>
203         <!-- end jwt -->
204 
205         <!--对接普元-->
206         <dependency>
207             <groupId>sso</groupId>
208             <artifactId>proxy</artifactId>
209             <version>7.0.3</version>
210             <!--maven认为,程序对外部的依赖会随着程序的所处阶段和应用场景而变化,所以maven中的依赖关系有作用于(Scope)的限制-->
211             <!--scope包含如下取值:compile(编译范围)、provided(已提供范围)、runtime(运行时范围)、test(测试范围)、system(系统范围)-->
212             <scope>system</scope>
213             <systemPath>${project.basedir}/src/main/resources/lib/sso-proxy-7.0.3.jar</systemPath>
214         </dependency>
215         <dependency>
216             <groupId>sso</groupId>
217             <artifactId>client</artifactId>
218             <version>7.0.3</version>
219             <scope>system</scope>
220             <systemPath>${project.basedir}/src/main/resources/lib/sso-client-java-7.0.3.jar</systemPath>
221         </dependency>
222 
223         <!--<dependency>-->
224             <!--<groupId>org.springframework.cloud</groupId>-->
225             <!--<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>-->
226             <!--<version>2.0.2.RELEASE</version>-->
227         <!--</dependency>-->
228     </dependencies>
229     <!--构建配置,build描述了如何来编译及打包项目,而具体的编译和打包工作是通过build中配置的plugin来完成的
230     当然plugin配置不是必须的,默认情况下,maven会绑定几个插件来完成基本操作-->
231     <build>
232         <!--产生的构件的文件名,默认值是${artifactId}-${version}-->
233         <finalName>${project.artifactId}</finalName>
234         <plugins>
235             <plugin>
236                 <groupId>org.springframework.boot</groupId>
237                 <artifactId>spring-boot-maven-plugin</artifactId>
238                 <configuration>
239                     <includeSystemScope>true</includeSystemScope>
240                 </configuration>
241             </plugin>
242             <plugin><!--执行测试文件-->
243                 <groupId>org.apache.maven.plugins</groupId>
244                 <artifactId>maven-surefire-plugin</artifactId>
245                 <configuration>
246                     <skipTests>true</skipTests>
247                 </configuration>
248             </plugin>
249             <plugin>
250                 <groupId>com.spotify</groupId>
251                 <artifactId>docker-maven-plugin</artifactId>
252                 <version>${docker.plugin.version}</version>
253                 <configuration>
254                     <imageName>hengyun/${project.artifactId}</imageName>
255                     <dockerDirectory>${project.basedir}/</dockerDirectory>
256                     <resources>
257                         <resource>
258                             <targetPath>/</targetPath>
259                             <directory>${project.build.directory}</directory>
260                             <include>${project.build.finalName}.jar</include>
261                         </resource>
262                     </resources>
263                 </configuration>
264             </plugin>
265         </plugins>
266     </build>
267 </project>
原文地址:https://www.cnblogs.com/BraveApple/p/11413369.html