192 lines
8.1 KiB
XML
192 lines
8.1 KiB
XML
<?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(简化 POJO:getter/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
|
||
- okhttp:UptimeKuma 心跳已改用 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> |