刘光辉
昨天 bb638871a7fb692d80f1b7a758f991dc0879002c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?xml version="1.0" encoding="UTF-8"?>
<!--
  jnpf-flow-engine:JNPF 独立流程引擎(jnpf-workflow-admin)的自有源码重建工程。
 
  由黑盒 jnpf-workflow-admin-1.0.0-RELEASE.jar 反编译还原(2026-07-17,任务 B):
  官方 Flowable 7.0.1 + JNPF 定制类(REST 层 6 类 + 服务层 5 类 + 模型层 31 类 + Liquibase DM8 补丁)。
  依赖版本与原 jar 逐项对齐:Spring Boot 3.3.2(liquibase 4.27.0 / mysql 8.3.0 / jackson 2.17.2
  均由其 BOM 管理,与原 jar 一致)、flowable 7.0.1、knife4j 4.5.0(带 springdoc 2.3.0)、
  hutool 5.8.27、postgresql 42.6.2(原 jar 锁定版本,覆盖 BOM 的 42.7.3)。
 
  HTTP 契约 /api/Flow/* 与原 jar 逐字节兼容,调用方 jnpf-flowable(FlowAbleUrl)零改动。
  独立 Spring Boot 3.3/JDK 21 工程,不挂主仓父 POM(主仓为 Spring Cloud/JDK 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>
 
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.3.2</version>
        <relativePath/>
    </parent>
 
    <groupId>jnpf.workflow</groupId>
    <artifactId>jnpf-workflow-admin</artifactId>
    <version>1.0.0-RELEASE</version>
    <packaging>jar</packaging>
    <name>jnpf-workflow-admin</name>
    <description>JNPF standalone Flowable engine (rebuilt from decompiled sources)</description>
 
    <properties>
        <java.version>21</java.version>
        <flowable.version>7.0.1</flowable.version>
        <knife4j.version>4.5.0</knife4j.version>
        <hutool.version>5.8.27</hutool.version>
        <!-- 原 jar 内为 42.6.2,锁定以保持等价(Spring Boot 3.3.2 BOM 默认 42.7.3) -->
        <postgresql.version>42.6.2</postgresql.version>
    </properties>
 
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
 
        <dependency>
            <groupId>org.flowable</groupId>
            <artifactId>flowable-spring-boot-starter</artifactId>
            <version>${flowable.version}</version>
        </dependency>
 
        <!-- 接口文档:knife4j 4.5.0 内含 springdoc 2.3.0,访问 /doc.html 与 /v3/api-docs -->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
            <version>${knife4j.version}</version>
        </dependency>
 
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>${hutool.version}</version>
        </dependency>
 
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
 
        <!-- 数据库驱动:与原 jar 一致内置 MySQL/PostgreSQL/Oracle/SQLServer/达梦 五家驱动 -->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>${postgresql.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.oracle.database.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
            <version>21.9.0.0</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.oracle.database.nls</groupId>
            <artifactId>orai18n</artifactId>
            <version>21.9.0.0</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>12.6.1.jre8</version>
            <scope>runtime</scope>
        </dependency>
        <!-- mssql-jdbc 的 Always Encrypted enclave 可选依赖,原 jar 显式内置,保留以维持等价 -->
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>3.25.1</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.dameng</groupId>
            <artifactId>DmJdbcDriver18</artifactId>
            <version>8.1.3.140</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
 
    <build>
        <finalName>${project.artifactId}-${project.version}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 对齐原 jar:Main-Class = PropertiesLauncher(支持 loader.path 外挂) -->
                    <layout>ZIP</layout>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>