Files
hospital-front/pom.xml
T

192 lines
8.1 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?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>
<!--
Solon 版本说明:
- Maven Central 上 solon-parent 最新是 4.0.6(短横线命名)
- 但 mybatis-solon-plugin 4.0.6 与 solon 4.0.6 存在 ABI 不兼容(NoSuchMethodError
- 退回 solon-parent 3.10.7(点号命名,生态完整稳定,已实测可启动)
-->
<parent>
<groupId>org.noear</groupId>
<artifactId>solon-parent</artifactId>
<version>3.10.7</version>
<relativePath/>
</parent>
<groupId>com.hospital</groupId>
<artifactId>hospital-front</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>hospital-front</name>
<description>医院前置机程序(Kotlin + Solon 3.10.7</description>
<properties>
<!-- JDK 与 Kotlin(覆盖 solon-parent 的 java.version=1.8 -->
<java.version>17</java.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<!-- 数据库驱动(solon-parent 不管理) -->
<ojdbc.version>23.3.0.23.09</ojdbc.version>
<mssql-jdbc.version>12.6.1.jre11</mssql-jdbc.version>
</properties>
<dependencies>
<!-- ========== Lombok(简化 POJOgetter/setter/toString 等) ========== -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.34</version>
<scope>provided</scope>
</dependency>
<!-- ========== Solon 核心 ========== -->
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon</artifactId>
</dependency>
<!-- Solon Web 服务器(smart-http 异步) -->
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-server-smarthttp</artifactId>
</dependency>
<!-- Solon YAML 配置支持 -->
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-config-yaml</artifactId>
</dependency>
<!-- Solon Logback 日志桥接 -->
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-logging-logback-jakarta</artifactId>
</dependency>
<!-- Solon 调度(@Scheduled 注解) -->
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-scheduling</artifactId>
</dependency>
<!-- ========== MyBatis-Plus 集成 ========== -->
<!-- Solon 官方插件(与 Solon 3.10.x ABI 兼容) -->
<dependency>
<groupId>org.noear</groupId>
<artifactId>mybatis-plus-solon-plugin</artifactId>
<!-- 排除插件传递的 core 3.5.5:显式声明的 mybatis-plus 3.5.9 已内含 core 类,
双版本共存既造成 shade 同类冲突(随机取一边混搭),也白白多出 ~4MB 体积 -->
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.5.9</version>
</dependency>
<!-- ========== 数据库驱动 ========== -->
<!-- 连接池(Solon 数据源类型) -->
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>5.1.0</version>
</dependency>
<!-- Oracle -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc11</artifactId>
<version>${ojdbc.version}</version>
</dependency>
<!-- Oracle NLS 字符集支持:ZHS16GBK 等中文/多字节字符集转换表,缺失报 ORA-17056 -->
<dependency>
<groupId>com.oracle.database.nls</groupId>
<artifactId>orai18n</artifactId>
<version>${ojdbc.version}</version>
</dependency>
<!-- SqlServer -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>${mssql-jdbc.version}</version>
</dependency>
<!-- 已移除依赖说明(精简 jar 体积):
- sqlite-jdbc:原为 B 端 Agent 用,Agent 已拆分为独立 Python 项目
- h2:开发 Mock 数据源,需要时本地临时加回
- sa-token-solon-plugin:鉴权已改为 OrderApi 手写 HTTP Basic
- okhttpUptimeKuma 心跳已改用 JDK 内置 java.net.http.HttpClient
-->
<dependency>
<groupId>org.noear</groupId>
<artifactId>snack3</artifactId>
</dependency>
<!-- Solon JSON 渲染插件(HTTP 响应自动序列化为 JSON -->
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-serialization-snack3</artifactId>
</dependency>
</dependencies>
<build>
<finalName>hospital-front</finalName>
<plugins>
<!-- 打 fat jar(包含所有依赖) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.5.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.hospital.front.HospitalFrontApp</mainClass>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
</transformers>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
<!-- 依赖自带的模块描述文件与 fat jar 不兼容,剔除以消除 shade 警告 -->
<exclude>module-info.class</exclude>
<exclude>META-INF/versions/*/module-info.class</exclude>
<!-- 以下重叠资源均为 IDE 提示/native-image 元数据/许可证文本,
运行时不读取,剔除以消除 shade 的 overlapping 警告 -->
<exclude>META-INF/solon/solon-configuration-metadata.json</exclude>
<exclude>META-INF/native-image/**</exclude>
<exclude>META-INF/LICENSE</exclude>
<exclude>META-INF/MANIFEST.MF</exclude>
</excludes>
</filter>
</filters>
<finalName>hospital-front</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>