缺失 Jindo 依赖
# 背景说明
在将 Paimon 1.1.0 集成到 Ambari 平台过程中,为了更好地统一管理和部署,我们需要对 Paimon 进行源码编译。
在实际执行 mvn clean install
构建命令时,大部分模块如 Core、Benchmark、Service、Spark
等均构建成功,但最终在 paimon-jindo
模块出现了编译失败。
编译日志中出现了类似以下错误片段:
[INFO] Reactor Summary for Paimon : 1.1.0:
[INFO]
[INFO] Paimon : ........................................... SUCCESS [ 12.051 s]
[INFO] Paimon : Test utils ................................ SUCCESS [ 5.504 s]
[INFO] Paimon : Common .................................... SUCCESS [ 44.993 s]
[INFO] Paimon : Benchmark ................................. SUCCESS [ 0.959 s]
[INFO] Paimon : Benchmark : Cluster ....................... SUCCESS [ 50.637 s]
[INFO] Paimon : Code Gen .................................. SUCCESS [ 56.836 s]
[INFO] Paimon : Code Gen Loader ........................... SUCCESS [ 4.672 s]
[INFO] Paimon : Format .................................... SUCCESS [ 20.018 s]
[INFO] Paimon : Core ...................................... SUCCESS [ 19.462 s]
[INFO] Paimon : FileSystems : ............................. SUCCESS [ 0.934 s]
[INFO] Paimon : FileSystems : S3 : Impl ................... SUCCESS [ 14.884 s]
[INFO] Paimon : FileSystems : S3 .......................... SUCCESS [ 13.040 s]
[INFO] Paimon : Hive ...................................... SUCCESS [ 3.978 s]
[INFO] Paimon : Hive Common ............................... SUCCESS [ 17.260 s]
[INFO] Paimon : Hive Catalog .............................. SUCCESS [ 24.870 s]
[INFO] Paimon : Bundle .................................... SUCCESS [ 11.807 s]
[INFO] Paimon : Benchmark : Micro ......................... SUCCESS [ 8.030 s]
[INFO] Paimon : Service ................................... SUCCESS [ 0.844 s]
[INFO] Paimon : Service : Client .......................... SUCCESS [ 6.590 s]
[INFO] Paimon : Service : Runtime ......................... SUCCESS [ 10.387 s]
[INFO] Paimon : Flink ..................................... SUCCESS [ 8.089 s]
[INFO] Paimon : Flink 1.x : Common ........................ SUCCESS [ 11.380 s]
[INFO] Paimon : Flink : Common ............................ SUCCESS [ 27.630 s]
[INFO] Paimon : Flink : Action ............................ SUCCESS [ 12.508 s]
[INFO] Paimon : Flink : CDC ............................... SUCCESS [04:44 min]
[INFO] Paimon : Spark ..................................... SUCCESS [ 4.223 s]
[INFO] Paimon : Spark : Common : 2.12 ..................... SUCCESS [ 53.374 s]
[INFO] Paimon : Docs ...................................... SUCCESS [ 18.270 s]
[INFO] Paimon : Flink : 1.17 .............................. SUCCESS [ 41.748 s]
[INFO] Paimon : Hive Connector Common ..................... SUCCESS [01:00 min]
[INFO] Paimon : Spark3 : Common ........................... SUCCESS [ 30.533 s]
[INFO] Paimon : Spark : UT ................................ SUCCESS [ 33.709 s]
[INFO] Paimon : Spark : 3.3 ............................... SUCCESS [01:18 min]
[INFO] Paimon : End to End Tests .......................... SUCCESS [ 48.976 s]
[INFO] Paimon : FileSystems : Hadoop Shaded ............... SUCCESS [ 9.906 s]
[INFO] Paimon : FileSystems : OSS : Impl .................. SUCCESS [ 11.336 s]
[INFO] Paimon : FileSystems : OSS ......................... SUCCESS [ 7.913 s]
[INFO] Paimon : FileSystems : COSN : Impl ................. SUCCESS [ 17.108 s]
[INFO] Paimon : FileSystems : COSN ........................ SUCCESS [ 12.672 s]
[INFO] Paimon : FileSystems : Jindo ....................... FAILURE [01:34 min]
[INFO] Paimon : FileSystems : GCS : Impl .................. SKIPPED
[INFO] Paimon : FileSystems : GCS ......................... SKIPPED
[INFO] Paimon : FileSystems : AZURE : Impl ................ SKIPPED
[INFO] Paimon : FileSystems : AZURE ....................... SKIPPED
[INFO] Paimon : FileSystems : OBS : Impl .................. SKIPPED
[INFO] Paimon : FileSystems : OBS ......................... SKIPPED
[INFO] Paimon : Hive Connector : 2.1 ...................... SKIPPED
[INFO] Paimon : Hive Connector : 2.1-cdh-6.3 .............. SKIPPED
[INFO] Paimon : Hive Connector : 2.2 ...................... SKIPPED
[INFO] Paimon : Hive Connector : 2.3 ...................... SKIPPED
[INFO] Paimon : Hive Connector : 3.1 ...................... SKIPPED
[INFO] Paimon : Arrow ..................................... SKIPPED
[INFO] Paimon : Tools : CI : Java ......................... SKIPPED
[INFO] Paimon : Open API .................................. SKIPPED
[INFO] Paimon : Spark : 3.5 ............................... SKIPPED
[INFO] Paimon : Spark : 3.4 ............................... SKIPPED
[INFO] Paimon : Spark : 3.2 ............................... SKIPPED
[INFO] Paimon : Flink : 1.15 .............................. SKIPPED
[INFO] Paimon : Flink : 1.16 .............................. SKIPPED
[INFO] Paimon : Flink : 1.18 .............................. SKIPPED
[INFO] Paimon : Flink : 1.19 .............................. SKIPPED
[INFO] Paimon : Flink : 1.20 .............................. SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 19:55 min
[INFO] Finished at: 2025-04-22T12:34:48Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project paimon-jindo: Could not resolve dependencies for project org.apache.paimon:paimon-jindo:jar:1.1.0: The following artifacts could not be resolved: com.
aliyun.jindodata:jindo-core:jar:6.5.6, com.aliyun.jindodata:jindo-sdk:jar:6.5.6: Could not find artifact com.aliyun.jindodata:jindo-core:jar:6.5.6 in nexus (http://172.20.0.2:8081/repository/m
aven-public/) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project paimon-jindo: Could not resolve dependencies for project org.apache.paimon:paimon-jindo:jar:1.1.0: The
following artifacts could not be resolved: com.aliyun.jindodata:jindo-core:jar:6.5.6, com.aliyun.jindodata:jindo-sdk:jar:6.5.6: Could not find artifact com.aliyun.jindodata:jindo-core:jar:6.5
.6 in nexus (http://172.20.0.2:8081/repository/maven-public/)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:269)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:147)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:248)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:202)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project org.apache.paimon:paimon-jindo:jar:1.1.0: The following artifacts could not be res
olved: com.aliyun.jindodata:jindo-core:jar:6.5.6, com.aliyun.jindodata:jindo-sdk:jar:6.5.6: Could not find artifact com.aliyun.jindodata:jindo-core:jar:6.5.6 in nexus (http://172.20.0.2:8081/r
epository/maven-public/)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:198)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:243)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:147)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:248)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:202)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: The following artifacts could not be resolved: com.aliyun.jindodata:jindo-core:jar:6.5.6, com.aliyun.jindodata:jindo-sdk
:jar:6.5.6: Could not find artifact com.aliyun.jindodata:jindo-core:jar:6.5.6 in nexus (http://172.20.0.2:8081/repository/maven-public/)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies (DefaultRepositorySystem.java:357)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:191)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:243)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:147)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:248)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:202)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: com.aliyun.jindodata:jindo-core:jar:6.5.6, com.aliyun.jindodata:jindo-sdk:j
ar:6.5.6: Could not find artifact com.aliyun.jindodata:jindo-core:jar:6.5.6 in nexus (http://172.20.0.2:8081/repository/maven-public/)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:425)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies (DefaultRepositorySystem.java:340)
at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:191)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:243)
at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:147)
at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:248)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:202)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact com.aliyun.jindodata:jindo-core:jar:6.5.6 in nexus (http://172.20.0.2:8081/repository/maven-public/)
at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed (ArtifactTransportListener.java:48)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run (BasicRepositoryConnector.java:369)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.java:75)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:624)
at java.lang.Thread.run (Thread.java:748)
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <args> -rf :paimon-jindo
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
核心问题
paimon-jindo 构建失败,主要原因是缺失 jindo-core
和 jindo-sdk
版本为 6.5.6
的依赖,且本地 Nexus 仓库中无法拉取到对应
artifacts。
在进行排查时,我们依次确认了构建日志、Nexus 仓库配置,并定位到了问题关键点。
# 问题排查过程
# 1. 查看完整编译日志
通过分析 Maven 的 BUILD FAILURE
位置,清晰看到了 jindo-core
、jindo-sdk
依赖解析失败。BUILD FAILURE
并且,日志指向 Nexus 公共仓库 http://172.20.0.2:8081/repository/maven-public/
,提示未能找到对应 jar 包。
# 2. 检查 Nexus 仓库配置
在 Nexus 后台,发现当前 maven-public 聚合仓库中,并未配置指向阿里云 jindodata 仓库的 Proxy 仓库,因此即便 jindodata 发布了依赖,系统也无法感知或拉取。
# 3. 验证远程仓库是否存在
通过浏览器访问官方地址:
https://jindodata-binary.oss-cn-shanghai.aliyuncs.com/mvn-repo/
确认可以正常访问,且对应 groupId com.aliyun.jindodata
下确实发布了 jindo-core 和 jindo-sdk 依赖,只是默认 Nexus 仓库未能识别。
# 解决方案
针对以上问题,我们给出了以下标准的修复流程:
# 方案一:创建 Proxy 仓库并接入 maven-public(推荐 ✅)
正确做法
在 Nexus 创建专门的 jindodata proxy 仓库,并合并到 maven-public 中。
# 步骤如下:
步骤 | 描述 |
---|---|
1 | 登录 Nexus 后台,点击 Repositories -> Create repository |
2 | 选择 Proxy 类型,仓库名称填写 aliyun-jindodata |
3 | Remote Storage 填写 https://jindodata-binary.oss-cn-shanghai.aliyuncs.com/mvn-repo/ |
4 | 创建完成后,编辑 maven-public,将 aliyun-jindodata 加入到成员列表(members) |
5 | 保存并重新索引仓库,清理 Maven 本地缓存后重新构建 |
笔记
这样处理后,所有构建请求依旧统一走 maven-public,无需修改项目 pom.xml
,且未来统一管理维护。
# 方案二:临时直接在 pom.xml 添加 repository(不推荐 ❌)
如果一时无法修改 Nexus 配置,可以在 paimon-jindo
模块的 pom.xml
中临时添加:
<repositories>
<repository>
<id>aliyun-jindodata-temp</id>
<url>https://jindodata-binary.oss-cn-shanghai.aliyuncs.com/mvn-repo/</url>
</repository>
</repositories>
2
3
4
5
6
7
警告
这种做法破坏了构建的一致性,不符合生产环境要求,仅适合快速验证,不推荐长期使用!
# 最终验证
完成 Proxy 仓库接入后,重新执行:
mvn clean install -U
经过近 20 分钟的编译,paimon-jindo 模块成功构建,Paimon 集成 Ambari 的整体打包流程正式完成!编译成功