Skip to content

Commit 704a3a5

Browse files
committed
HBASE-24084 Fix missing jdk8 dependencies in hbase-assembly/hadoop-two-compat
After HBASE-23986, running on JDK8/Hadoop2 from the binary tarball results in ``` Exception in thread "main" java.lang.NoClassDefFoundError: com/ctc/wstx/io/InputBootstrapper at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:149) at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:3062) Caused by: java.lang.ClassNotFoundException: com.ctc.wstx.io.InputBootstrapper at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 2 more ``` The missing class is from `com.fasterxml.woodstox:woodstox-core`. This and `org.codehaus.woodstox:stax2-api` are explicit dependencies of `org.apache.hadoop:hadoop-common:jar:2.10.0`. Thus, include them in the default jars provided under `lib`. Signed-off-by: stack <stack@apache.org>
1 parent f00753b commit 704a3a5

File tree

1 file changed

+66
-68
lines changed

1 file changed

+66
-68
lines changed

hbase-assembly/src/main/assembly/hadoop-two-compat.xml

Lines changed: 66 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -67,51 +67,50 @@
6767
<excludes>
6868
<!-- Exclude J2EE libraries that get pulled in when building on JDK11 -->
6969
<exclude>com.sun.activation:javax.activation</exclude>
70-
<!-- The following artifacts are transitive dependencies of com.sun.xml.ws:jaxws-ri:pom
71-
They are needed to be included in lib/jdk11 to be added to classpath during
72-
Java 11 runtime hence excluding from main lib.
70+
<!--
71+
The following artifacts are transitive dependencies of com.sun.xml.ws:jaxws-ri:pom
72+
They are needed to be included in lib/jdk11 to be added to classpath during
73+
Java 11 runtime hence excluding from main lib.
7374
-->
74-
<exclude>com.sun.xml.ws:*</exclude>
75-
<exclude>jakarta.annotation:jakarta.annotation-api</exclude>
76-
<exclude>org.glassfish.jaxb:*</exclude>
7775
<exclude>com.sun.istack:istack-commons-runtime</exclude>
78-
<exclude>org.glassfish.gmbal:gmbal</exclude>
79-
<exclude>org.glassfish.external:management-api</exclude>
80-
<exclude>org.glassfish.pfl:*</exclude>
81-
<exclude>org.jvnet.staxex:stax-ex</exclude>
82-
<exclude>com.sun.xml.stream.buffer:streambuffer</exclude>
83-
<exclude>org.jvnet.mimepull:mimepull</exclude>
76+
<exclude>com.sun.xml.bind:jaxb-jxc</exclude>
77+
<exclude>com.sun.xml.bind:jaxb-xjc</exclude>
8478
<exclude>com.sun.xml.fastinfoset:FastInfoset</exclude>
85-
<exclude>org.glassfish.ha:ha-api</exclude>
8679
<exclude>com.sun.xml.messaging.saaj:saaj-impl</exclude>
87-
<exclude>com.fasterxml.woodstox:woodstox-core</exclude>
88-
<exclude>org.codehaus.woodstox:stax2-api</exclude>
80+
<exclude>com.sun.xml.stream.buffer:streambuffer</exclude>
81+
<exclude>com.sun.xml.ws:*</exclude>
8982
<exclude>jakarta.activation:jakarta.activation-api</exclude>
90-
<exclude>com.sun.xml.bind:jaxb-xjc</exclude>
91-
<exclude>com.sun.xml.bind:jaxb-jxc</exclude>
83+
<exclude>jakarta.annotation:jakarta.annotation-api</exclude>
84+
<exclude>jakarta.jws:jakarta.jws-api</exclude>
9285
<exclude>jakarta.mail:jakarta.mail-api</exclude>
9386
<exclude>jakarta.persistence:jakarta.persistence-api</exclude>
94-
<exclude>org.eclipse.persistence:*</exclude>
95-
<exclude>jakarta.xml.ws:jakarta.xml.ws-api</exclude>
9687
<exclude>jakarta.xml.bind:jakarta.xml.bind-api</exclude>
9788
<exclude>jakarta.xml.soap:jakarta.xml.soap-api</exclude>
98-
<exclude>jakarta.jws:jakarta.jws-api</exclude>
99-
<!-- Exclude libraries that we put in their own dirs under lib/ -->
100-
<exclude>org.jruby:jruby-complete</exclude>
101-
<exclude>com.sun.jersey:*</exclude>
89+
<exclude>jakarta.xml.ws:jakarta.xml.ws-api</exclude>
90+
<exclude>org.eclipse.persistence:*</exclude>
91+
<exclude>org.glassfish.external:management-api</exclude>
92+
<exclude>org.glassfish.gmbal:gmbal</exclude>
93+
<exclude>org.glassfish.ha:ha-api</exclude>
94+
<exclude>org.glassfish.jaxb:*</exclude>
95+
<exclude>org.glassfish.pfl:*</exclude>
96+
<exclude>org.jvnet.mimepull:mimepull</exclude>
97+
<exclude>org.jvnet.staxex:stax-ex</exclude>
98+
<!-- Exclude libraries that we put in their own dirs under lib/ -->
99+
<exclude>com.github.stephenc.findbugs:findbugs-annotations</exclude>
102100
<exclude>com.sun.jersey.contribs:*</exclude>
101+
<exclude>com.sun.jersey:*</exclude>
102+
<exclude>commons-logging:commons-logging</exclude>
103103
<exclude>jline:jline</exclude>
104-
<exclude>org.apache.hbase:hbase-shaded-client</exclude>
105-
<exclude>org.apache.hbase:hbase-shaded-client-byo-hadoop</exclude>
106-
<exclude>org.apache.hbase:hbase-shaded-mapreduce</exclude>
107-
<exclude>com.github.stephenc.findbugs:findbugs-annotations</exclude>
108-
<exclude>commons-logging:commons-logging</exclude>
109-
<exclude>log4j:log4j</exclude>
110-
<exclude>org.apache.htrace:htrace-core4</exclude>
111-
<exclude>org.apache.htrace:htrace-core</exclude>
112-
<exclude>org.apache.yetus:audience-annotations</exclude>
113-
<exclude>org.slf4j:slf4j-api</exclude>
114-
<exclude>org.slf4j:slf4j-log4j12</exclude>
104+
<exclude>log4j:log4j</exclude>
105+
<exclude>org.apache.hbase:hbase-shaded-client-byo-hadoop</exclude>
106+
<exclude>org.apache.hbase:hbase-shaded-client</exclude>
107+
<exclude>org.apache.hbase:hbase-shaded-mapreduce</exclude>
108+
<exclude>org.apache.htrace:htrace-core4</exclude>
109+
<exclude>org.apache.htrace:htrace-core</exclude>
110+
<exclude>org.apache.yetus:audience-annotations</exclude>
111+
<exclude>org.jruby:jruby-complete</exclude>
112+
<exclude>org.slf4j:slf4j-api</exclude>
113+
<exclude>org.slf4j:slf4j-log4j12</exclude>
115114
</excludes>
116115
</dependencySet>
117116
</dependencySets>
@@ -218,40 +217,39 @@
218217
<include>jline:jline</include>
219218
</includes>
220219
</dependencySet>
221-
<dependencySet>
222-
<outputDirectory>lib/jdk11</outputDirectory>
223-
<useTransitiveDependencies>true</useTransitiveDependencies>
224-
<includes>
225-
<include>com.sun.activation:javax.activation</include>
226-
<!-- The following artifacts are transitive dependencies of com.sun.xml.ws:jaxws-ri:pom
227-
They are needed to be included in lib/jdk11 to be added to classpath during
228-
Java 11 runtime
229-
-->
230-
<include>com.sun.xml.ws:*</include>
231-
<include>jakarta.annotation:jakarta.annotation-api</include>
232-
<include>org.glassfish.jaxb:*</include>
233-
<include>com.sun.istack:istack-commons-runtime</include>
234-
<include>org.glassfish.gmbal:gmbal</include>
235-
<include>org.glassfish.external:management-api</include>
236-
<include>org.glassfish.pfl:*</include>
237-
<include>org.jvnet.staxex:stax-ex</include>
238-
<include>com.sun.xml.stream.buffer:streambuffer</include>
239-
<include>org.jvnet.mimepull:mimepull</include>
240-
<include>com.sun.xml.fastinfoset:FastInfoset</include>
241-
<include>org.glassfish.ha:ha-api</include>
242-
<include>com.sun.xml.messaging.saaj:saaj-impl</include>
243-
<include>com.fasterxml.woodstox:woodstox-core</include>
244-
<include>org.codehaus.woodstox:stax2-api</include>
245-
<include>jakarta.activation:jakarta.activation-api</include>
246-
<include>com.sun.xml.bind:jaxb-xjc</include>
247-
<include>com.sun.xml.bind:jaxb-jxc</include>
248-
<include>jakarta.mail:jakarta.mail-api</include>
249-
<include>jakarta.persistence:jakarta.persistence-api</include>
250-
<include>org.eclipse.persistence:*</include>
251-
<include>jakarta.xml.ws:jakarta.xml.ws-api</include>
252-
<include>jakarta.xml.bind:jakarta.xml.bind-api</include>
253-
<include>jakarta.xml.soap:jakarta.xml.soap-api</include>
254-
<include>jakarta.jws:jakarta.jws-api</include>
220+
<dependencySet>
221+
<outputDirectory>lib/jdk11</outputDirectory>
222+
<useTransitiveDependencies>true</useTransitiveDependencies>
223+
<includes>
224+
<include>com.sun.activation:javax.activation</include>
225+
<!--
226+
The following artifacts are transitive dependencies of com.sun.xml.ws:jaxws-ri:pom
227+
They are needed to be included in lib/jdk11 to be added to classpath during
228+
Java 11 runtime
229+
-->
230+
<include>com.sun.istack:istack-commons-runtime</include>
231+
<include>com.sun.xml.bind:jaxb-jxc</include>
232+
<include>com.sun.xml.bind:jaxb-xjc</include>
233+
<include>com.sun.xml.fastinfoset:FastInfoset</include>
234+
<include>com.sun.xml.messaging.saaj:saaj-impl</include>
235+
<include>com.sun.xml.stream.buffer:streambuffer</include>
236+
<include>com.sun.xml.ws:*</include>
237+
<include>jakarta.activation:jakarta.activation-api</include>
238+
<include>jakarta.annotation:jakarta.annotation-api</include>
239+
<include>jakarta.jws:jakarta.jws-api</include>
240+
<include>jakarta.mail:jakarta.mail-api</include>
241+
<include>jakarta.persistence:jakarta.persistence-api</include>
242+
<include>jakarta.xml.bind:jakarta.xml.bind-api</include>
243+
<include>jakarta.xml.soap:jakarta.xml.soap-api</include>
244+
<include>jakarta.xml.ws:jakarta.xml.ws-api</include>
245+
<include>org.eclipse.persistence:*</include>
246+
<include>org.glassfish.external:management-api</include>
247+
<include>org.glassfish.gmbal:gmbal</include>
248+
<include>org.glassfish.ha:ha-api</include>
249+
<include>org.glassfish.jaxb:*</include>
250+
<include>org.glassfish.pfl:*</include>
251+
<include>org.jvnet.mimepull:mimepull</include>
252+
<include>org.jvnet.staxex:stax-ex</include>
255253
</includes>
256254
</dependencySet>
257255
</dependencySets>

0 commit comments

Comments
 (0)