pom.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431
  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.platomix</groupId>
  6. <artifactId>platomix-pom</artifactId>
  7. <packaging>pom</packaging>
  8. <version>1.2.4</version>
  9. <name>platomix-pom</name>
  10. <url>http://www.platomix.net/</url>
  11. <inceptionYear>2022-08-25</inceptionYear>
  12. <description>platomix 统一版本配置</description>
  13. <developers>
  14. <developer>
  15. <name>aokunsang</name>
  16. <email>807703605@qq.com</email>
  17. </developer>
  18. <developer>
  19. <name>others</name>
  20. <email>xxxxxx@qq.com</email>
  21. </developer>
  22. </developers>
  23. <properties>
  24. <platomix.tool.version>1.0.0</platomix.tool.version>
  25. <java.version>1.8</java.version>
  26. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  27. <maven.plugin.version>3.8.1</maven.plugin.version>
  28. <spring-boot.version>2.4.4</spring-boot.version>
  29. <spring-cloud.version>2020.0.5</spring-cloud.version>
  30. <swagger.version>2.10.5</swagger.version>
  31. <swagger.models.version>1.6.2</swagger.models.version>
  32. <knife4j.version>2.0.8</knife4j.version>
  33. <mybatis.plus.version>3.5.3.1</mybatis.plus.version>
  34. <mybatis.plus.dynamic.version>4.1.1</mybatis.plus.dynamic.version>
  35. <mybatis.plus.dynamic.creator.version>4.1.1.1</mybatis.plus.dynamic.creator.version>
  36. <druid.version>1.2.8</druid.version>
  37. <mysql.connector.version>8.0.22</mysql.connector.version>
  38. <oracle.connector.version>12.2.0.1</oracle.connector.version>
  39. <clickhouse.connector.version>0.3.2</clickhouse.connector.version>
  40. <sqlserver.connector.version>8.4.1.jre8</sqlserver.connector.version>
  41. <kingbase.connector.version>8.6.0</kingbase.connector.version>
  42. <postgresql.connector.version>42.5.0</postgresql.connector.version>
  43. <dameng.connector.version>8.1.1.87</dameng.connector.version>
  44. <uxdb.version>42.2.12</uxdb.version>
  45. <hutool.all.version>5.8.27</hutool.all.version>
  46. <fastjson2.version>2.0.10</fastjson2.version>
  47. <easycaptcha.version>1.6.2</easycaptcha.version>
  48. <easyexcel.version>3.2.0</easyexcel.version>
  49. <jjwt.version>0.11.2</jjwt.version>
  50. <guava.version>30.1.1-jre</guava.version>
  51. <redisson.version>3.11.6</redisson.version>
  52. <protostuff.version>1.6.0</protostuff.version>
  53. <httpcomponents.client.version>4.5.13</httpcomponents.client.version>
  54. <docker.plugin.version>0.40.3</docker.plugin.version>
  55. <docker.registry>docker.platomix.net:10000</docker.registry>
  56. <docker.namespace>platomix</docker.namespace>
  57. </properties>
  58. <dependencies>
  59. <dependency>
  60. <groupId>org.projectlombok</groupId>
  61. <artifactId>lombok</artifactId>
  62. <scope>provided</scope>
  63. </dependency>
  64. <dependency>
  65. <groupId>org.springframework.boot</groupId>
  66. <artifactId>spring-boot-starter-test</artifactId>
  67. <scope>test</scope>
  68. </dependency>
  69. </dependencies>
  70. <dependencyManagement>
  71. <dependencies>
  72. <!-- spring boot 依赖 -->
  73. <dependency>
  74. <groupId>org.springframework.boot</groupId>
  75. <artifactId>spring-boot-dependencies</artifactId>
  76. <version>${spring-boot.version}</version>
  77. <type>pom</type>
  78. <scope>import</scope>
  79. </dependency>
  80. <!-- spring cloud 依赖 -->
  81. <dependency>
  82. <groupId>org.springframework.cloud</groupId>
  83. <artifactId>spring-cloud-dependencies</artifactId>
  84. <version>${spring-cloud.version}</version>
  85. <type>pom</type>
  86. <scope>import</scope>
  87. </dependency>
  88. <!-- MybatisPlus -->
  89. <dependency>
  90. <groupId>com.baomidou</groupId>
  91. <artifactId>mybatis-plus-boot-starter</artifactId>
  92. <version>${mybatis.plus.version}</version>
  93. </dependency>
  94. <dependency>
  95. <groupId>com.baomidou</groupId>
  96. <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
  97. <version>${mybatis.plus.dynamic.version}</version>
  98. <exclusions>
  99. <exclusion>
  100. <groupId>com.baomidou</groupId>
  101. <artifactId>dynamic-datasource-creator</artifactId>
  102. </exclusion>
  103. </exclusions>
  104. </dependency>
  105. <dependency>
  106. <groupId>com.baomidou</groupId>
  107. <artifactId>dynamic-datasource-creator</artifactId>
  108. <version>${mybatis.plus.dynamic.creator.version}</version>
  109. </dependency>
  110. <dependency>
  111. <groupId>com.clickhouse</groupId>
  112. <artifactId>clickhouse-jdbc</artifactId>
  113. <version>${clickhouse.connector.version}</version>
  114. </dependency>
  115. <dependency>
  116. <groupId>mysql</groupId>
  117. <artifactId>mysql-connector-java</artifactId>
  118. <version>${mysql.connector.version}</version>
  119. </dependency>
  120. <dependency>
  121. <groupId>com.oracle</groupId>
  122. <artifactId>ojdbc7</artifactId>
  123. <version>${oracle.connector.version}</version>
  124. </dependency>
  125. <dependency>
  126. <groupId>com.microsoft.sqlserver</groupId>
  127. <artifactId>mssql-jdbc</artifactId>
  128. <version>${sqlserver.connector.version}</version>
  129. </dependency>
  130. <dependency>
  131. <groupId>com.alibaba</groupId>
  132. <artifactId>druid-spring-boot-starter</artifactId>
  133. <version>${druid.version}</version>
  134. </dependency>
  135. <dependency>
  136. <groupId>com.kingbase8</groupId>
  137. <artifactId>kingbase8</artifactId>
  138. <version>${kingbase.connector.version}</version>
  139. </dependency>
  140. <dependency>
  141. <groupId>org.postgresql</groupId>
  142. <artifactId>postgresql</artifactId>
  143. <version>${postgresql.connector.version}</version>
  144. </dependency>
  145. <dependency>
  146. <groupId>com.dameng</groupId>
  147. <artifactId>DmJdbcDriver18</artifactId>
  148. <version>${dameng.connector.version}</version>
  149. </dependency>
  150. <!-- JWT -->
  151. <dependency>
  152. <groupId>io.jsonwebtoken</groupId>
  153. <artifactId>jjwt-impl</artifactId>
  154. <version>${jjwt.version}</version>
  155. </dependency>
  156. <dependency>
  157. <groupId>io.jsonwebtoken</groupId>
  158. <artifactId>jjwt-jackson</artifactId>
  159. <version>${jjwt.version}</version>
  160. </dependency>
  161. <!--Swagger -->
  162. <dependency>
  163. <groupId>com.github.xiaoymin</groupId>
  164. <artifactId>knife4j-spring-boot-starter</artifactId>
  165. <version>${knife4j.version}</version>
  166. </dependency>
  167. <dependency>
  168. <groupId>cn.hutool</groupId>
  169. <artifactId>hutool-all</artifactId>
  170. <version>${hutool.all.version}</version>
  171. </dependency>
  172. <dependency>
  173. <groupId>com.alibaba</groupId>
  174. <artifactId>easyexcel</artifactId>
  175. <version>${easyexcel.version}</version>
  176. </dependency>
  177. <dependency>
  178. <groupId>com.github.whvcse</groupId>
  179. <artifactId>easy-captcha</artifactId>
  180. <version>${easycaptcha.version}</version>
  181. </dependency>
  182. <dependency>
  183. <groupId>com.alibaba.fastjson2</groupId>
  184. <artifactId>fastjson2</artifactId>
  185. <version>${fastjson2.version}</version>
  186. </dependency>
  187. <dependency>
  188. <groupId>com.google.guava</groupId>
  189. <artifactId>guava</artifactId>
  190. <version>${guava.version}</version>
  191. </dependency>
  192. <dependency>
  193. <groupId>org.apache.httpcomponents</groupId>
  194. <artifactId>httpclient</artifactId>
  195. <version>${httpcomponents.client.version}</version>
  196. </dependency>
  197. <!-- protostuff -->
  198. <dependency>
  199. <groupId>io.protostuff</groupId>
  200. <artifactId>protostuff-core</artifactId>
  201. <version>${protostuff.version}</version>
  202. </dependency>
  203. <dependency>
  204. <groupId>io.protostuff</groupId>
  205. <artifactId>protostuff-runtime</artifactId>
  206. <version>${protostuff.version}</version>
  207. </dependency>
  208. <!-- redisson -->
  209. <dependency>
  210. <groupId>org.redisson</groupId>
  211. <artifactId>redisson</artifactId>
  212. <version>${redisson.version}</version>
  213. </dependency>
  214. </dependencies>
  215. </dependencyManagement>
  216. <profiles>
  217. <profile>
  218. <id>arm</id>
  219. <properties>
  220. <cpu-architecture-classifier>-aarch64</cpu-architecture-classifier>
  221. </properties>
  222. </profile>
  223. <profile>
  224. <id>amd</id>
  225. <properties>
  226. <cpu-architecture-classifier></cpu-architecture-classifier>
  227. </properties>
  228. <activation>
  229. <activeByDefault>true</activeByDefault>
  230. </activation>
  231. </profile>
  232. </profiles>
  233. <build>
  234. <finalName>${project.name}</finalName>
  235. <resources>
  236. <resource>
  237. <directory>src/main/resources</directory>
  238. <filtering>false</filtering>
  239. </resource>
  240. <resource>
  241. <directory>src/main/resources</directory>
  242. <includes>
  243. <include>**/*.ttf</include>
  244. <include>**/*.ipdb</include>
  245. <include>META-INF/**</include>
  246. </includes>
  247. <filtering>false</filtering>
  248. </resource>
  249. <resource>
  250. <directory>src/main/java</directory>
  251. <includes>
  252. <include>**/*.xml</include>
  253. </includes>
  254. </resource>
  255. </resources>
  256. <plugins>
  257. <plugin>
  258. <groupId>org.apache.maven.plugins</groupId>
  259. <artifactId>maven-compiler-plugin</artifactId>
  260. <version>${maven.plugin.version}</version>
  261. <configuration>
  262. <source>${java.version}</source>
  263. <target>${java.version}</target>
  264. <encoding>UTF-8</encoding>
  265. <compilerArgs>
  266. <arg>-parameters</arg>
  267. </compilerArgs>
  268. </configuration>
  269. </plugin>
  270. <!-- sonar的代码质量检测,jenkins发版时候会校验
  271. <plugin>
  272. <groupId>org.sonarsource.scanner.maven</groupId>
  273. <artifactId>sonar-maven-plugin</artifactId>
  274. <version>${sonar.scanner.plugin.version}</version>
  275. </plugin>
  276. -->
  277. <!-- 添加基于p3c的pmd静态代码质量检测 -->
  278. <plugin>
  279. <groupId>org.apache.maven.plugins</groupId>
  280. <artifactId>maven-pmd-plugin</artifactId>
  281. <version>3.17.0</version>
  282. <configuration>
  283. <verbose>true</verbose>
  284. <!-- 规范的配置 -->
  285. <rulesets>
  286. <ruleset>${project.basedir}/ali-pmd.xml</ruleset>
  287. </rulesets>
  288. <printFailingErrors>true</printFailingErrors>
  289. <!-- <excludes>-->
  290. <!-- <exclude>**/consistency/entity/*.java</exclude>-->
  291. <!-- </excludes>-->
  292. </configuration>
  293. <executions>
  294. <execution>
  295. <id>pmd-check-verify</id>
  296. <phase>package</phase>
  297. <goals>
  298. <goal>check</goal>
  299. </goals>
  300. </execution>
  301. </executions>
  302. <dependencies>
  303. <dependency>
  304. <groupId>com.alibaba.p3c</groupId>
  305. <artifactId>p3c-pmd</artifactId>
  306. <version>2.1.1</version>
  307. </dependency>
  308. </dependencies>
  309. </plugin>
  310. </plugins>
  311. <pluginManagement>
  312. <plugins>
  313. <plugin>
  314. <groupId>org.springframework.boot</groupId>
  315. <artifactId>spring-boot-maven-plugin</artifactId>
  316. <version>${spring-boot.version}</version>
  317. <configuration>
  318. <finalName>${project.build.finalName}</finalName>
  319. </configuration>
  320. <executions>
  321. <execution>
  322. <goals>
  323. <goal>repackage</goal>
  324. </goals>
  325. </execution>
  326. </executions>
  327. </plugin>
  328. <!-- 打source包 -->
  329. <plugin>
  330. <groupId>org.apache.maven.plugins</groupId>
  331. <artifactId>maven-source-plugin</artifactId>
  332. <version>3.0.1</version>
  333. <configuration>
  334. <attach>true</attach>
  335. </configuration>
  336. <executions>
  337. <execution>
  338. <phase>compile</phase>
  339. <goals>
  340. <goal>jar</goal>
  341. </goals>
  342. </execution>
  343. </executions>
  344. </plugin>
  345. <!-- https://dmp.fabric8.io/ 官方文档 https://github.com/fabric8io/docker-maven-plugin
  346. 插件更新比较活跃 -->
  347. <plugin>
  348. <groupId>io.fabric8</groupId>
  349. <artifactId>docker-maven-plugin</artifactId>
  350. <version>${docker.plugin.version}</version>
  351. <configuration>
  352. <verbose>true</verbose>
  353. <images>
  354. <image>
  355. <name>${docker.registry}/${docker.namespace}/${project.build.finalName}:${project.version}${cpu-architecture-classifier}</name>
  356. <build>
  357. <!-- 每次打包2个镜像,一个latest,一个带版本号的 <tags> <tag>latest</tag> <tag>${project.version}${cpu-architecture-classifier}</tag>
  358. </tags> -->
  359. <contextDir>${project.basedir}</contextDir>
  360. <dockerFile>${project.basedir}/Dockerfile${cpu-architecture-classifier}</dockerFile>
  361. <args>
  362. <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
  363. </args>
  364. </build>
  365. </image>
  366. </images>
  367. <!-- push使用,2种设置方式: 1.使用该配置在maven项目种配置; 2.在maven配置文件setting.xml中添加server节点。
  368. <authConfig> <username>admin</username> <password>123</password> </authConfig> -->
  369. </configuration>
  370. </plugin>
  371. </plugins>
  372. </pluginManagement>
  373. </build>
  374. <repositories>
  375. <repository>
  376. <id>alimaven</id>
  377. <name>aliyun maven</name>
  378. <url>https://maven.aliyun.com/repository/public/</url>
  379. <snapshots>
  380. <enabled>false</enabled>
  381. </snapshots>
  382. </repository>
  383. <repository>
  384. <id>platomix-release</id>
  385. <name>NexusReleases</name>
  386. <url>https://windata.platomix.net/nexus/repository/maven-public/</url>
  387. <snapshots>
  388. <enabled>false</enabled>
  389. </snapshots>
  390. </repository>
  391. </repositories>
  392. <pluginRepositories>
  393. <pluginRepository>
  394. <id>alimaven</id>
  395. <name>aliyun maven</name>
  396. <url>https://maven.aliyun.com/repository/public/</url>
  397. <snapshots>
  398. <enabled>false</enabled>
  399. </snapshots>
  400. </pluginRepository>
  401. </pluginRepositories>
  402. <distributionManagement>
  403. <repository>
  404. <id>platomix-release</id>
  405. <name>NexusReleases</name>
  406. <url>https://windata.platomix.net/nexus/repository/maven-releases/</url>
  407. </repository>
  408. </distributionManagement>
  409. </project>