ujcms-v10.1.3/pom.xml

622 lines
23 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ujcms</groupId>
<artifactId>ujcms</artifactId>
<version>10.1.3</version>
<packaging>${project.packaging}</packaging>
<name>UJCMS</name>
<description>
UJCMS 是基于 Java 的 CMS 网站内容系统。使用 SpringBoot、MyBatis、Vite、Vue3、ElementPlus、TailwindCSS 等技术开发。
</description>
<url>https://www.ujcms.com</url>
<inceptionYear>2021-present</inceptionYear>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.8</version>
</parent>
<properties>
<!-- MyBatis Spring Boot Starter -->
<mybatis-spring-boot-starter.version>3.0.5</mybatis-spring-boot-starter.version>
<!-- MyBatis 分页插件 -->
<pagehelper-spring-boot-starter.version>2.1.1</pagehelper-spring-boot-starter.version>
<!-- 工作流引擎 -->
<flowable-spring-boot-starter>7.2.0</flowable-spring-boot-starter>
<!-- 数据库版本管理组件 -->
<!-- 4.24-4.25 databasechangelog 表名改为小写会导致升级 bug -->
<!-- 4.26.0 开始使用 oracle 的 ALL_QUEUE_TABLES 表,达梦数据库不支持 -->
<liquibase.version>4.23.2</liquibase.version>
<!-- 全文索引组件 -->
<lucene.version>8.11.4</lucene.version>
<!-- 全文索引分词器 jcseg -->
<jcseg-analyzer.version>2.6.3</jcseg-analyzer.version>
<!-- 全文索引分词器 IK -->
<ik-analyzer.version>8.5.0</ik-analyzer.version>
<!-- freemarker java8 日期组件 -->
<freemarker-java8.version>3.0.3</freemarker-java8.version>
<!-- Apache 公共组件。spring boot 3.5.6 依赖的 commons-lang3 版本是 3.17.0,提示有漏洞,使用 3.19.0 版本 -->
<commons-lang3.version>3.19.0</commons-lang3.version>
<!-- Apache 集合组件 -->
<commons-collections4.version>4.5.0</commons-collections4.version>
<!-- Apache 压缩组件 -->
<commons-compress.version>1.28.0</commons-compress.version>
<!-- Apache IO 组件 -->
<commons-io.version>2.20.0</commons-io.version>
<!-- Apache 文本组件 -->
<commons-text.version>1.14.0</commons-text.version>
<!-- Apache 校验组件 -->
<commons-validator.version>1.10.0</commons-validator.version>
<!-- Apache 公共网络组件 -->
<commons-net.version>3.12.0</commons-net.version>
<!-- 字符串相似度组件 -->
<java-string-similarity.version>2.0.0</java-string-similarity.version>
<!-- HTML解析组件 -->
<jsoup.version>1.21.2</jsoup.version>
<!-- 加密组件 -->
<bcprov-jdk18on.version>1.82</bcprov-jdk18on.version>
<!-- HTML不安全代码过滤组件 -->
<owasp-java-html-sanitizer.version>20240325.1</owasp-java-html-sanitizer.version>
<!-- 验证码组件 -->
<jcaptcha.version>2.0.0</jcaptcha.version>
<!-- 纯 java 图片处理库 -->
<thumbnailator.version>0.4.21</thumbnailator.version>
<!-- java webp 图片处理库 -->
<webp-imageio.version>0.1.6</webp-imageio.version>
<!-- GraphicsMagick 原生图片处理库调用组件 -->
<im4java.version>1.4.0</im4java.version>
<!-- LibreOffice 转换器 -->
<jodconverter.version>4.4.11</jodconverter.version>
<!-- PDF 类库 -->
<pdfbox.version>3.0.5</pdfbox.version>
<!-- Java Audio Video Encoder -->
<jave.version>3.5.0</jave.version>
<!-- IP定位组件 -->
<ip2region.version>2.7.0</ip2region.version>
<!-- 用户代理解析组件。分析用户浏览器类型、操作系统等信息 -->
<uap-java.version>1.6.1</uap-java.version>
<!-- Markdown解析组件 -->
<commonmark.version>0.26.0</commonmark.version>
<!-- 计算机信息获取组件 -->
<oshi-core.version>6.9.0</oshi-core.version>
<!-- 阿里云短信组件 -->
<dysmsapi20170525.version>4.2.0</dysmsapi20170525.version>
<!-- 腾讯云短信组件 -->
<tencentcloud-sdk-java-sms.version>3.1.1281</tencentcloud-sdk-java-sms.version>
<!-- 微信组件 -->
<weixin-java-mp.version>4.7.8-20251004.014820</weixin-java-mp.version>
<!-- MinIO对象存储 -->
<!-- MinIO-8 使用 okhttp3-4.8.1,与阿里云短信 okhttp3-3.12.13 冲突。只能用 MinIO-7.1 版本 -->
<!-- 可以考虑使用 maven-shade-plugin 和多项目的方式解决冲突 -->
<minio.version>8.6.0</minio.version>
<!-- okhttp -->
<okhttp.version>5.1.0</okhttp.version>
<!-- 腾讯云对象存储 -->
<cos_api.version>5.6.63</cos_api.version>
<!-- 阿里云对象存储 -->
<aliyun-sdk-oss.version>3.13.2</aliyun-sdk-oss.version>
<!-- 七牛云对象存储 -->
<qiniu-java-sdk.version>7.9.1</qiniu-java-sdk.version>
<!-- SpringDoc API 文档工具 -->
<springdoc-openapi-starter-webmvc-ui.version>2.8.13</springdoc-openapi-starter-webmvc-ui.version>
<!-- Read Javadoc comments at runtime for SpringDoc -->
<therapi-runtime-javadoc.version>0.15.0</therapi-runtime-javadoc.version>
<!-- MyBatis Caffeine 缓存插件 -->
<mybatis-caffeine.version>1.2.0</mybatis-caffeine.version>
<!-- MyBatis 代码生成器 -->
<mybatis-generator-core.version>1.4.2</mybatis-generator-core.version>
<!-- 达梦 JDBC驱动 -->
<DmJdbcDriver8.version>8.1.4.181</DmJdbcDriver8.version>
<!-- 人大金仓 JDBC驱动 -->
<kingbase8.version>9.0.1</kingbase8.version>
<!-- openGauss JDBC驱动 -->
<opengauss-jdbc.version>6.0.1</opengauss-jdbc.version>
<!-- vastbase(海量数据库) JDBC驱动 -->
<vastbase-jdbc.version>2.13.2v</vastbase-jdbc.version>
<!-- 瀚高 JDBC驱动 -->
<HgdbJdbc.version>6.2.4</HgdbJdbc.version>
<!-- 此项设置可以让IntelliJ IDEA自动识别Spring Boot工程可以直接点击右上角运行按钮启动程序 -->
<start-class>com.ujcms.cms.Application</start-class>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring AOP框架 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!-- Spring 安全框架 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-resource-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-client</artifactId>
</dependency>
<!--<dependency>-->
<!-- <groupId>org.springframework.security</groupId>-->
<!-- <artifactId>spring-security-oauth2-jose</artifactId>-->
<!--</dependency>-->
<!-- springboot elasticsearch -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<!-- springboot redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- Spring Session Redis -->
<!--<dependency>-->
<!-- <groupId>org.springframework.session</groupId>-->
<!-- <artifactId>spring-session-data-redis</artifactId>-->
<!--</dependency>-->
<!-- springboot 缓存 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!-- springboot 定时任务 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
<!-- caffeine 缓存 -->
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot-starter.version}</version>
</dependency>
<!-- mybatis caffeine 缓存插件 -->
<dependency>
<groupId>org.mybatis.caches</groupId>
<artifactId>mybatis-caffeine</artifactId>
<version>${mybatis-caffeine.version}</version>
</dependency>
<!-- mybatis 分页 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper-spring-boot-starter.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
</dependency>
<!-- springboot freemarker 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>no.api.freemarker</groupId>
<artifactId>freemarker-java8</artifactId>
<version>${freemarker-java8.version}</version>
</dependency>
<!-- spring boot mail -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<!-- Liquibase 数据库版本管理组件 -->
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
<!-- Flowable 工作流 -->
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter-process</artifactId>
<version>${flowable-spring-boot-starter}</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>${lucene.version}</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
<version>${lucene.version}</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
<version>${lucene.version}</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-highlighter</artifactId>
<version>${lucene.version}</version>
</dependency>
<!-- IK 中文分词 -->
<dependency>
<groupId>com.github.magese</groupId>
<artifactId>ik-analyzer</artifactId>
<version>${ik-analyzer.version}</version>
</dependency>
<!-- jcseg 中文分词 -->
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>jcseg-analyzer</artifactId>
<version>${jcseg-analyzer.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>${commons-collections4.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>${commons-compress.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>${commons-text.version}</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>${commons-net.version}</version>
</dependency>
<dependency>
<groupId>commons-validator</groupId>
<artifactId>commons-validator</artifactId>
<version>${commons-validator.version}</version>
</dependency>
<dependency>
<groupId>info.debatty</groupId>
<artifactId>java-string-similarity</artifactId>
<version>${java-string-similarity.version}</version>
</dependency>
<!-- 加密库 -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<version>${bcprov-jdk18on.version}</version>
</dependency>
<!-- 解析 html 和过滤危险html代码 -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>${jsoup.version}</version>
</dependency>
<dependency>
<groupId>com.googlecode.owasp-java-html-sanitizer</groupId>
<artifactId>owasp-java-html-sanitizer</artifactId>
<version>${owasp-java-html-sanitizer.version}</version>
</dependency>
<!-- 验证码组件 -->
<dependency>
<groupId>io.leopard.thirdparty</groupId>
<artifactId>jcaptcha-core</artifactId>
<version>${jcaptcha.version}</version>
</dependency>
<!-- 纯 java 图片压缩组件 -->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>${thumbnailator.version}</version>
</dependency>
<dependency>
<groupId>org.sejda.imageio</groupId>
<artifactId>webp-imageio</artifactId>
<version>${webp-imageio.version}</version>
</dependency>
<!-- 调用 gmagick 处理图片的接口库 -->
<dependency>
<groupId>org.im4java</groupId>
<artifactId>im4java</artifactId>
<version>${im4java.version}</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-local-lo</artifactId>
<version>${jodconverter.version}</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-spring-boot-starter</artifactId>
<version>${jodconverter.version}</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>${pdfbox.version}</version>
</dependency>
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-all-deps</artifactId>
<version>${jave.version}</version>
</dependency>
<!-- IP 地址库 -->
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
<version>${ip2region.version}</version>
</dependency>
<!-- 浏览器 UserAgent 识别组件 -->
<dependency>
<groupId>com.github.ua-parser</groupId>
<artifactId>uap-java</artifactId>
<version>${uap-java.version}</version>
</dependency>
<!-- Markdown解析组件 -->
<dependency>
<groupId>org.commonmark</groupId>
<artifactId>commonmark</artifactId>
<version>${commonmark.version}</version>
</dependency>
<!-- 计算机信息获取组件 -->
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>${oshi-core.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<version>${bcprov-jdk18on.version}</version>
</dependency>
<!-- 微信组件 -->
<!--<dependency>-->
<!-- <groupId>com.github.binarywang</groupId>-->
<!-- <artifactId>weixin-java-mp</artifactId>-->
<!-- <version>${weixin-java-mp.version}</version>-->
<!--</dependency>-->
<!-- MinIO 对象存储 -->
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>${minio.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>${okhttp.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp-jvm</artifactId>
<version>${okhttp.version}</version>
</dependency>
<!--<dependency>-->
<!-- <groupId>cn.hutool</groupId>-->
<!-- <artifactId>hutool-all</artifactId>-->
<!-- <version>5.8.40</version>-->
<!--</dependency>-->
<!-- SpringDoc -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${springdoc-openapi-starter-webmvc-ui.version}</version>
</dependency>
<dependency>
<groupId>com.github.therapi</groupId>
<artifactId>therapi-runtime-javadoc</artifactId>
<version>${therapi-runtime-javadoc.version}</version>
</dependency>
<!-- 商业版要安装 ujcms-ep-xxx.jar 包,否则会失去商业版功能,变成普通版本。安装方法请参考 lib/readme.md 文件 -->
<!-- 注意:此项配置的 scope 不可改成 system否则打包时不会包含这个jar文件导致失去商业版功能 -->
<!-- JDBC 驱动 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver8</artifactId>
<version>${DmJdbcDriver8.version}</version>
<scope>runtime</scope>
</dependency>
<!-- openGauss 驱动,需将 postgresql 原版驱动删除 -->
<!--<dependency>-->
<!-- <groupId>org.opengauss</groupId>-->
<!-- <artifactId>opengauss-jdbc</artifactId>-->
<!-- <version>${opengauss-jdbc.version}</version>-->
<!-- <scope>runtime</scope>-->
<!--</dependency>-->
<!-- vastbase(海量数据库) 驱动,需将 postgresql 原版驱动删除 -->
<!--<dependency>-->
<!-- <groupId>cn.com.vastdata</groupId>-->
<!-- <artifactId>vastbase-jdbc</artifactId>-->
<!-- <version>${vastbase-jdbc.version}</version>-->
<!-- <scope>runtime</scope>-->
<!--</dependency>-->
<!-- 瀚高数据库 驱动 -->
<dependency>
<groupId>com.highgo</groupId>
<artifactId>HgdbJdbc</artifactId>
<version>${HgdbJdbc.version}</version>
<scope>runtime</scope>
</dependency>
<!-- 测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 使用 @ConfigurationProperties 注解时,可以生成配置文件,让开发工具识别配置项 -->
<!-- https://docs.spring.io/spring-boot/docs/2.4.3/reference/htmlsingle/#configuration-metadata-annotation-processor -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- 开发模式工具。开发模式下自动取消模板缓存、修改class后自动重启等功能 -->
<!-- https://docs.spring.io/spring-boot/docs/2.4.3/reference/htmlsingle/#using-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
<!-- Lombok 代码生成工具 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>${mybatis-generator-core.version}</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>jar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<project.packaging>jar</project.packaging>
</properties>
</profile>
<profile>
<id>war</id>
<properties>
<project.packaging>war</project.packaging>
</properties>
<dependencies>
<!-- 打包成war需要设置scope为provided -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>com.github.therapi</groupId>
<artifactId>therapi-runtime-javadoc-scribe</artifactId>
<version>${therapi-runtime-javadoc.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
<!-- aliyun-repos begin -->
<repositories>
<repository>
<id>aliyun-repos</id>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>aliyun-repos</id>
<url>https://maven.aliyun.com/repository/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
<!-- aliyun-repos end -->
</project>