刘光辉
10 小时以前 34981c30a78e8bbd7791131059a9210f9928b62c
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
<?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">
    <parent>
        <artifactId>jnpf-platform</artifactId>
        <groupId>com.jnpf</groupId>
        <version>6.1.0-RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
 
    <artifactId>jnpf-platform-server</artifactId>
 
    <dependencies>
        <!-- 聚合层:每并入一个平台模块,在这里加一个对它 -controller 的依赖
             (与各原 *-server 的依赖写法一致,controller 会把 biz/entity/api 链式带进来)。
             ⚠️ 只加依赖,不搬代码——业务实现留在原模块里。
 
             并入顺序刻意从小到大、一次一个、每次都启一遍,出问题能立刻定位到是谁带来的:
             visualdata → app → file → message → oauth → permission → system → visualdev → flowable -->
 
        <!-- ① 数据可视化(5337 行,最小) -->
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-visualdata-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <!-- ② 移动端服务(954 行) -->
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-app-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <!-- ③ 文件管理(5729 行)。file 的 server 不是单一 controller 依赖,
             照抄 jnpf-file-server 实际生效的三项。
             ⚠️ 该 pom 里的 jnpf-file-dubboservice 与 jnpf-common-seata 是**注释掉的**
             (jnpf-file-dubboservice 模块本身也不在 jnpf-file/pom.xml 的 modules 里,
              artifact 根本不存在),照抄注释内容会导致依赖解析失败。 -->
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-file-storage</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-file-yozo-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-file-upload</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <!-- ④ 消息中心(16535 行) -->
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-message-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <!-- ⑤ 认证授权(3793 行)。jnpf-oauth-server 另外显式声明了 system-api /
             flowable-api(虽然 controller 也会传递带入),照抄以保持依赖面一致。 -->
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-oauth-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-system-api</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-flowable-api</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <!-- ⑥ 权限管理(29010 行) -->
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-permission-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <!-- ⑦ 平台核心(55585 行,最大)。-dubboservice 携带 LogProviderImpl——
             它是核心栈**唯一** Dubbo provider,聚合后本进程接管它,
             启动必须带 DUBBO_PROTOCOL_PORT=20880(见 tasks/todo.md T2-7)。 -->
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-system-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-system-dubboservice</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <!-- ⑧ 在线开发引擎(33603 行),四个 controller 缺一不可 -->
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-visualdev-base-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-visualdev-onlinedev-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-visualdev-generater-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-visualdev-portal-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
        <!-- ⑨ 工作流业务层(37437 行)。注意它**不含** Flowable 引擎——
             真引擎是独立工程 jnpf-flow-engine(:31000),经 FlowDomain 直连,不在本进程。 -->
        <dependency>
            <groupId>com.jnpf</groupId>
            <artifactId>jnpf-flowable-controller</artifactId>
            <version>${project.version}</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
 
    <profiles>
        <profile>
            <id>default-package</id>
            <activation>
                <jdk>[,]</jdk>
            </activation>
            <build>
                <finalName>jnpf-platform-${project.version}</finalName>
                <plugins>
                    <plugin>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-maven-plugin</artifactId>
                        <configuration>
                            <!-- 指定该Main Class为全局的唯一入口 -->
                            <mainClass>jnpf.JnpfPlatformApplication</mainClass>
                            <layout>ZIP</layout>
                        </configuration>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>external-package</id>
            <build>
                <finalName>jnpf-platform-${project.version}</finalName>
                <plugins>
                    <!-- 复制依赖到外部目录 -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-dependency-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>copy-dependencies</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>copy-dependencies</goal>
                                </goals>
                                <configuration>
                                    <outputDirectory>${external-lib-out-path}</outputDirectory>
                                    <overWriteReleases>true</overWriteReleases>
                                    <overWriteSnapshots>true</overWriteSnapshots>
                                    <overWriteIfNewer>true</overWriteIfNewer>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-jar-plugin</artifactId>
                        <configuration>
                            <archive>
                                <manifest>
                                    <!--启动类path-->
                                    <mainClass>jnpf.JnpfPlatformApplication</mainClass>
                                    <addClasspath>true</addClasspath>
                                    <classpathPrefix>${external-lib-start-path}</classpathPrefix>
                                </manifest>
                                <manifestEntries>
                                    <!--如果不指定,classpath 可能会找不到,加载资源有问题-->
                                    <Class-Path>.</Class-Path>
                                </manifestEntries>
                            </archive>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
 
</project>