Trino requires Temurin or Oracle JDK for development
# 1. Trino 构建失败日志分析
在进行 Trino 项目的构建时,日志输出显示了构建过程中遇到的一些关键错误。构建失败的具体日志如下:
[DEBUG] SKIPPED build of project io.trino:trino-benchto-benchmarks
[DEBUG] Builder state: blocked=0 finished=110 ready-or-running=0
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for trino-root 474:
[INFO]
[INFO] trino-root ......................................... FAILURE [ 1.813 s]
[INFO] trino-testing-services ............................. SKIPPED
[INFO] trino-spi .......................................... SKIPPED
[INFO] trino-client ....................................... SKIPPED
[INFO] trino-grammar ...................................... SKIPPED
[INFO] trino-cli .......................................... SKIPPED
[INFO] trino-cache ........................................ SKIPPED
[INFO] trino-matching ..................................... SKIPPED
[INFO] trino-plugin-toolkit ............................... SKIPPED
[INFO] trino-array ........................................ SKIPPED
[INFO] trino-geospatial-toolkit ........................... SKIPPED
[INFO] trino-memory-context ............................... SKIPPED
[INFO] trino-parser ....................................... SKIPPED
[INFO] trino-web-ui ....................................... SKIPPED
[INFO] trino-testing-containers ........................... SKIPPED
[INFO] trino-exchange-filesystem .......................... SKIPPED
[INFO] trino-tpch ......................................... SKIPPED
[INFO] trino-main ......................................... SKIPPED
[INFO] trino-testing ...................................... SKIPPED
[INFO] trino-blackhole .................................... SKIPPED
[INFO] trino-filesystem ................................... SKIPPED
[INFO] trino-hdfs ......................................... SKIPPED
[INFO] trino-filesystem-alluxio ........................... SKIPPED
[INFO] trino-filesystem-azure ............................. SKIPPED
[INFO] trino-filesystem-cache-alluxio ..................... SKIPPED
[INFO] trino-filesystem-gcs ............................... SKIPPED
[INFO] trino-filesystem-s3 ................................ SKIPPED
[INFO] trino-filesystem-manager ........................... SKIPPED
[INFO] trino-hive-formats ................................. SKIPPED
[INFO] trino-metastore .................................... SKIPPED
[INFO] trino-orc .......................................... SKIPPED
[INFO] trino-parquet ...................................... SKIPPED
[INFO] trino-tpcds ........................................ SKIPPED
[INFO] trino-hive ......................................... SKIPPED
[INFO] trino-memory ....................................... SKIPPED
[INFO] trino-password-authenticators ...................... SKIPPED
[INFO] trino-jdbc ......................................... SKIPPED
[INFO] trino-base-jdbc .................................... SKIPPED
[INFO] trino-snowflake .................................... SKIPPED
[INFO] trino-http-event-listener .......................... SKIPPED
[INFO] trino-redshift ..................................... SKIPPED
[INFO] trino-oracle ....................................... SKIPPED
[INFO] trino-http-server-event-listener ................... SKIPPED
[INFO] trino-record-decoder ............................... SKIPPED
[INFO] trino-testing-kafka ................................ SKIPPED
[INFO] trino-kafka ........................................ SKIPPED
[INFO] trino-kafka-event-listener ......................... SKIPPED
[INFO] trino-opa .......................................... SKIPPED
[INFO] trino-exasol ....................................... SKIPPED
[INFO] trino-mysql ........................................ SKIPPED
[INFO] trino-faker ........................................ SKIPPED
[INFO] trino-hudi ......................................... SKIPPED
[INFO] trino-ignite ....................................... SKIPPED
[INFO] trino-ml ........................................... SKIPPED
[INFO] trino-pinot ........................................ SKIPPED
[INFO] trino-example-http ................................. SKIPPED
[INFO] trino-google-sheets ................................ SKIPPED
[INFO] trino-ranger ....................................... SKIPPED
[INFO] trino-mysql-event-listener ......................... SKIPPED
[INFO] trino-druid ........................................ SKIPPED
[INFO] trino-exchange-hdfs ................................ SKIPPED
[INFO] trino-openlineage .................................. SKIPPED
[INFO] trino-jmx .......................................... SKIPPED
[INFO] trino-thrift-api ................................... SKIPPED
[INFO] trino-thrift-testing-server ........................ SKIPPED
[INFO] trino-thrift ....................................... SKIPPED
[INFO] trino-clickhouse ................................... SKIPPED
[INFO] trino-loki ......................................... SKIPPED
[INFO] trino-opensearch ................................... SKIPPED
[INFO] trino-vertica ...................................... SKIPPED
[INFO] trino-mongodb ...................................... SKIPPED
[INFO] trino-iceberg ...................................... SKIPPED
[INFO] trino-geospatial ................................... SKIPPED
[INFO] trino-postgresql ................................... SKIPPED
[INFO] trino-singlestore .................................. SKIPPED
[INFO] trino-teradata-functions ........................... SKIPPED
[INFO] trino-elasticsearch ................................ SKIPPED
[INFO] trino-bigquery ..................................... SKIPPED
[INFO] trino-ldap-group-provider .......................... SKIPPED
[INFO] trino-functions-python ............................. SKIPPED
[INFO] trino-server-main .................................. SKIPPED
[INFO] trino-resource-group-managers ...................... SKIPPED
[INFO] trino-spooling-filesystem .......................... SKIPPED
[INFO] trino-session-property-managers .................... SKIPPED
[INFO] trino-server-core .................................. SKIPPED
[INFO] trino-testing-resources ............................ SKIPPED
[INFO] trino-delta-lake ................................... SKIPPED
[INFO] trino-prometheus ................................... SKIPPED
[INFO] trino-ai-functions ................................. SKIPPED
[INFO] trino-cassandra .................................... SKIPPED
[INFO] trino-sqlserver .................................... SKIPPED
[INFO] trino-duckdb ....................................... SKIPPED
[INFO] trino-mariadb ...................................... SKIPPED
[INFO] trino-redis ........................................ SKIPPED
[INFO] trino-server ....................................... SKIPPED
[INFO] trino-docs ......................................... SKIPPED
[INFO] trino-example-jdbc ................................. SKIPPED
[INFO] trino-proxy ........................................ SKIPPED
[INFO] trino-verifier ..................................... SKIPPED
[INFO] trino-benchmark-queries ............................ SKIPPED
[INFO] trino-benchto-benchmarks ........................... SKIPPED
[INFO] trino-tests ........................................ SKIPPED
[INFO] trino-faulttolerant-tests .......................... SKIPPED
[INFO] trino-plugin-reader ................................ SKIPPED
[INFO] trino-product-tests-groups ......................... SKIPPED
[INFO] trino-product-tests ................................ SKIPPED
[INFO] trino-product-tests-launcher ....................... SKIPPED
[INFO] trino-server-dev ................................... SKIPPED
[INFO] trino-test-jdbc-compatibility-old-driver ........... SKIPPED
[INFO] trino-test-jdbc-compatibility-old-server ........... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.093 s
[INFO] Finished at: 2025-04-13T03:44:53Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.5.0:enforce (default) on project trino-root:
[ERROR] Rule 6: org.apache.maven.enforcer.rules.RequireJavaVendor failed with message:
[ERROR] Trino requires Temurin or Oracle JDK for development. Other vendors are not recommended due to lack of testing coverage.
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.5.0:enforce (default) on project trino
-root:
Rule 6: org.apache.maven.enforcer.rules.RequireJavaVendor failed with message:
Trino requires Temurin or Oracle JDK for development. Other vendors are not recommended due to lack of testing coverage.
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:333)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
at io.takari.maven.builder.smart.SmartBuilderImpl.buildProject (SmartBuilderImpl.java:206)
at io.takari.maven.builder.smart.SmartBuilderImpl$ProjectBuildTask.run (SmartBuilderImpl.java:71)
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:572)
at java.util.concurrent.FutureTask.run (FutureTask.java:317)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1144)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:642)
at java.lang.Thread.run (Thread.java:1575)
Caused by: org.apache.maven.plugin.MojoExecutionException:
Rule 6: org.apache.maven.enforcer.rules.RequireJavaVendor failed with message:
Trino requires Temurin or Oracle JDK for development. Other vendors are not recommended due to lack of testing coverage.
at org.apache.maven.plugins.enforcer.EnforceMojo.execute (EnforceMojo.java:271)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 (MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run (MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute (DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:105)
at io.takari.maven.builder.smart.SmartBuilderImpl.buildProject (SmartBuilderImpl.java:206)
at io.takari.maven.builder.smart.SmartBuilderImpl$ProjectBuildTask.run (SmartBuilderImpl.java:71)
at java.util.concurrent.Executors$RunnableAdapter.call (Executors.java:572)
at java.util.concurrent.FutureTask.run (FutureTask.java:317)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1144)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:642)
at java.lang.Thread.run (Thread.java:1575)
[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/MojoExecutionException
[DEBUG] Shutting down adapter factory; available factories [file-lock, rwlock-local, semaphore-local, noop]; available name mappers [discriminating, file-gav, file-hg
av, file-static, gav, static]
[DEBUG] Shutting down 'file-lock' factory
[DEBUG] Shutting down 'rwlock-local' factory
[DEBUG] Shutting down 'semaphore-local' factory
[DEBUG] Shutting down 'noop' factory
(maven_env) [root@centos1 trino-474]#
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
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
尽管大部分模块的构建已完成,但最终构建状态却是失败。这提示我们构建过程中的某些依赖或配置问题。
提示
请仔细检查构建过程中出现的具体错误信息,确保所有的依赖库都正确加载。
# 2. 错误分析:JDK 版本不兼容
从构建失败的错误信息来看,主要是由于 JDK 版本问题,具体错误如下:
该错误提示我们,Trino 仅支持 Temurin 或 Oracle JDK,其他供应商的 JDK 不推荐使用,因为测试覆盖度较低。
注意
确保您的 JDK 是 Temurin 或 Oracle JDK,其他供应商的 JDK 可能不完全支持 Trino。
# 3. 下载并安装兼容的 JDK 版本
为了解决这个问题,我们需要下载并安装合适版本的 Temurin JDK。推荐使用 Adoptium 提供的 Temurin JDK 版本。
# 下载链接
请访问 Adoptium 网站下载 JDK 23 版本:Adoptium JDK 23 (opens new window)
您也可以使用下面的直接下载链接:
https://objects.githubusercontent.com/github-production-release-asset-2e65be/730108868/2c100e55-bae9-4196-85c6-8599c3319c3b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction/20250412/us-east-1/s3/aws4_request&X-Amz-Date=20250412T190038Z&X-Amz-Expires=300&X-Amz-Signature=03bb2caa820edee30f25db60c9f87715d2ed0cd4e8305c390aaac12a8750d9b0&X-Amz-SignedHeaders=host&response-content-disposition=attachment; filename=OpenJDK23U-jdk_x64_linux_hotspot_23.0.2_7.tar.gz&response-content-type=application/octet-stream
1
# 安装过程
下载完成后,解压 JDK 包至指定目录:
tar -xzvf OpenJDK23U-jdk_x64_linux_hotspot_23.0.2_7.tar.gz -C /opt/modules/jdk-23.0.2+7
1
然后验证 JDK 是否安装成功:
java -version
1如果安装成功,您会看到类似以下内容:
openjdk version "23.0.2" 2025-04-12 OpenJDK Runtime Environment (build 23.0.2+7) OpenJDK 64-Bit Server VM (build 23.0.2+7, mixed mode)
1
2
3
笔记
安装成功后,可以验证是否能够通过 java -version
命令查看到正确的版本。
# 4. 重新构建 Trino 项目
安装并配置正确版本的 JDK 后,重新运行构建命令:
mvn clean install
1
通过确保使用兼容的 JDK 版本,构建过程应该能够顺利完成,所有模块可以正常构建并生成所需的可执行文件。
提示
如果构建过程中仍然遇到问题,请检查 Maven 配置文件和 Trino 项目的依赖,确保所有必需的库都已正确安装。