HBASE-23156 start-hbase.sh failed with ClassNotFoundException when build with hadoop3 (#1067)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
This commit is contained in:
parent
f6a2238889
commit
8f292a8d58
|
@ -0,0 +1,258 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd">
|
||||||
|
<!--
|
||||||
|
/**
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!--This 'all' id is not appended to the produced bundle because we do this: http://maven.apache.org/plugins/maven-assembly-plugin/faq.html#required-classifiers -->
|
||||||
|
<id>bin</id>
|
||||||
|
<formats>
|
||||||
|
<format>tar.gz</format>
|
||||||
|
</formats>
|
||||||
|
<componentDescriptors>
|
||||||
|
<componentDescriptor>src/main/assembly/components.xml</componentDescriptor>
|
||||||
|
</componentDescriptors>
|
||||||
|
<moduleSets>
|
||||||
|
<moduleSet>
|
||||||
|
<useAllReactorProjects>true</useAllReactorProjects>
|
||||||
|
<includes>
|
||||||
|
<!-- Keep this list sorted by name -->
|
||||||
|
<include>org.apache.hbase:hbase-annotations</include>
|
||||||
|
<include>org.apache.hbase:hbase-backup</include>
|
||||||
|
<include>org.apache.hbase:hbase-client</include>
|
||||||
|
<include>org.apache.hbase:hbase-common</include>
|
||||||
|
<include>org.apache.hbase:hbase-endpoint</include>
|
||||||
|
<include>org.apache.hbase:hbase-examples</include>
|
||||||
|
<include>org.apache.hbase:hbase-external-blockcache</include>
|
||||||
|
<include>org.apache.hbase:hbase-hadoop-compat</include>
|
||||||
|
<include>org.apache.hbase:hbase-hadoop2-compat</include>
|
||||||
|
<include>org.apache.hbase:hbase-http</include>
|
||||||
|
<include>org.apache.hbase:hbase-it</include>
|
||||||
|
<include>org.apache.hbase:hbase-mapreduce</include>
|
||||||
|
<include>org.apache.hbase:hbase-metrics</include>
|
||||||
|
<include>org.apache.hbase:hbase-metrics-api</include>
|
||||||
|
<include>org.apache.hbase:hbase-procedure</include>
|
||||||
|
<include>org.apache.hbase:hbase-protocol</include>
|
||||||
|
<include>org.apache.hbase:hbase-protocol-shaded</include>
|
||||||
|
<include>org.apache.hbase:hbase-replication</include>
|
||||||
|
<include>org.apache.hbase:hbase-rest</include>
|
||||||
|
<include>org.apache.hbase:hbase-rsgroup</include>
|
||||||
|
<include>org.apache.hbase:hbase-server</include>
|
||||||
|
<include>org.apache.hbase:hbase-shell</include>
|
||||||
|
<include>org.apache.hbase:hbase-testing-util</include>
|
||||||
|
<include>org.apache.hbase:hbase-thrift</include>
|
||||||
|
<include>org.apache.hbase:hbase-zookeeper</include>
|
||||||
|
</includes>
|
||||||
|
<!-- Binaries for the dependencies also go in the hbase-jars directory -->
|
||||||
|
<binaries>
|
||||||
|
<outputDirectory>lib</outputDirectory>
|
||||||
|
<unpack>false</unpack>
|
||||||
|
<dependencySets>
|
||||||
|
<dependencySet>
|
||||||
|
<excludes>
|
||||||
|
<!-- Exclude J2EE libraries that get pulled in when building on JDK11 -->
|
||||||
|
<exclude>com.sun.activation:javax.activation</exclude>
|
||||||
|
<!-- The following artifacts are transitive dependencies of com.sun.xml.ws:jaxws-ri:pom
|
||||||
|
They are needed to be included in lib/jdk11 to be added to classpath during
|
||||||
|
Java 11 runtime hence excluding from main lib.
|
||||||
|
-->
|
||||||
|
<exclude>com.sun.xml.ws:*</exclude>
|
||||||
|
<exclude>jakarta.annotation:jakarta.annotation-api</exclude>
|
||||||
|
<exclude>org.glassfish.jaxb:*</exclude>
|
||||||
|
<exclude>com.sun.istack:istack-commons-runtime</exclude>
|
||||||
|
<exclude>org.glassfish.gmbal:gmbal</exclude>
|
||||||
|
<exclude>org.glassfish.external:management-api</exclude>
|
||||||
|
<exclude>org.glassfish.pfl:*</exclude>
|
||||||
|
<exclude>org.jvnet.staxex:stax-ex</exclude>
|
||||||
|
<exclude>com.sun.xml.stream.buffer:streambuffer</exclude>
|
||||||
|
<exclude>org.jvnet.mimepull:mimepull</exclude>
|
||||||
|
<exclude>com.sun.xml.fastinfoset:FastInfoset</exclude>
|
||||||
|
<exclude>org.glassfish.ha:ha-api</exclude>
|
||||||
|
<exclude>com.sun.xml.messaging.saaj:saaj-impl</exclude>
|
||||||
|
<exclude>jakarta.activation:jakarta.activation-api</exclude>
|
||||||
|
<exclude>com.sun.xml.bind:jaxb-xjc</exclude>
|
||||||
|
<exclude>com.sun.xml.bind:jaxb-jxc</exclude>
|
||||||
|
<exclude>jakarta.mail:jakarta.mail-api</exclude>
|
||||||
|
<exclude>jakarta.persistence:jakarta.persistence-api</exclude>
|
||||||
|
<exclude>org.eclipse.persistence:*</exclude>
|
||||||
|
<exclude>jakarta.xml.ws:jakarta.xml.ws-api</exclude>
|
||||||
|
<exclude>jakarta.xml.bind:jakarta.xml.bind-api</exclude>
|
||||||
|
<exclude>jakarta.xml.soap:jakarta.xml.soap-api</exclude>
|
||||||
|
<exclude>jakarta.jws:jakarta.jws-api</exclude>
|
||||||
|
<!-- Exclude libraries that we put in their own dirs under lib/ -->
|
||||||
|
<exclude>org.jruby:jruby-complete</exclude>
|
||||||
|
<exclude>com.sun.jersey:*</exclude>
|
||||||
|
<exclude>com.sun.jersey.contribs:*</exclude>
|
||||||
|
<exclude>jline:jline</exclude>
|
||||||
|
<exclude>org.apache.hbase:hbase-shaded-client</exclude>
|
||||||
|
<exclude>org.apache.hbase:hbase-shaded-client-byo-hadoop</exclude>
|
||||||
|
<exclude>org.apache.hbase:hbase-shaded-mapreduce</exclude>
|
||||||
|
<exclude>com.github.stephenc.findbugs:findbugs-annotations</exclude>
|
||||||
|
<exclude>commons-logging:commons-logging</exclude>
|
||||||
|
<exclude>log4j:log4j</exclude>
|
||||||
|
<exclude>org.apache.htrace:htrace-core4</exclude>
|
||||||
|
<exclude>org.apache.htrace:htrace-core</exclude>
|
||||||
|
<exclude>org.apache.yetus:audience-annotations</exclude>
|
||||||
|
<exclude>org.slf4j:slf4j-api</exclude>
|
||||||
|
<exclude>org.slf4j:slf4j-log4j12</exclude>
|
||||||
|
</excludes>
|
||||||
|
</dependencySet>
|
||||||
|
</dependencySets>
|
||||||
|
</binaries>
|
||||||
|
</moduleSet>
|
||||||
|
<!-- Include shaded clients in their own directory -->
|
||||||
|
<moduleSet>
|
||||||
|
<useAllReactorProjects>true</useAllReactorProjects>
|
||||||
|
<includes>
|
||||||
|
<include>org.apache.hbase:hbase-shaded-client</include>
|
||||||
|
<include>org.apache.hbase:hbase-shaded-mapreduce</include>
|
||||||
|
<include>org.apache.hbase:hbase-shaded-client-byo-hadoop</include>
|
||||||
|
</includes>
|
||||||
|
<binaries>
|
||||||
|
<outputDirectory>lib/shaded-clients</outputDirectory>
|
||||||
|
<unpack>false</unpack>
|
||||||
|
<dependencySets>
|
||||||
|
<dependencySet>
|
||||||
|
<includes>
|
||||||
|
<include>org.apache.hbase:hbase-shaded-client</include>
|
||||||
|
<include>org.apache.hbase:hbase-shaded-mapreduce</include>
|
||||||
|
<include>org.apache.hbase:hbase-shaded-client-byo-hadoop</include>
|
||||||
|
</includes>
|
||||||
|
</dependencySet>
|
||||||
|
</dependencySets>
|
||||||
|
</binaries>
|
||||||
|
</moduleSet>
|
||||||
|
</moduleSets>
|
||||||
|
<!-- Include the generated LICENSE and NOTICE files -->
|
||||||
|
<files>
|
||||||
|
<file>
|
||||||
|
<source>${project.build.directory}/maven-shared-archive-resources/META-INF/LICENSE</source>
|
||||||
|
<outputDirectory>.</outputDirectory>
|
||||||
|
<destName>LICENSE.txt</destName>
|
||||||
|
<lineEnding>unix</lineEnding>
|
||||||
|
</file>
|
||||||
|
<file>
|
||||||
|
<source>${project.build.directory}/NOTICE.aggregate</source>
|
||||||
|
<outputDirectory>.</outputDirectory>
|
||||||
|
<destName>NOTICE.txt</destName>
|
||||||
|
<lineEnding>unix</lineEnding>
|
||||||
|
</file>
|
||||||
|
<file>
|
||||||
|
<source>${basedir}/src/main/resources/META-INF/LEGAL</source>
|
||||||
|
<outputDirectory>.</outputDirectory>
|
||||||
|
<destName>LEGAL</destName>
|
||||||
|
<lineEnding>unix</lineEnding>
|
||||||
|
</file>
|
||||||
|
</files>
|
||||||
|
|
||||||
|
<dependencySets>
|
||||||
|
<!-- Add jruby-complete to hbase_home/lib/ruby.
|
||||||
|
Update JRUBY_PACKAGED_WITH_HBASE in bin/hbase and hbase.cmd if you would like to update outputDirectory below -->
|
||||||
|
<dependencySet>
|
||||||
|
<outputDirectory>lib/ruby</outputDirectory>
|
||||||
|
<includes>
|
||||||
|
<include>org.jruby:jruby-complete</include>
|
||||||
|
</includes>
|
||||||
|
</dependencySet>
|
||||||
|
<!-- Include third party dependencies the shaded clients expose in the lib directory
|
||||||
|
-->
|
||||||
|
<dependencySet>
|
||||||
|
<outputDirectory>lib/client-facing-thirdparty</outputDirectory>
|
||||||
|
<useTransitiveDependencies>true</useTransitiveDependencies>
|
||||||
|
<!-- Unfortunately, we have to whitelist these because Maven
|
||||||
|
currently doesn't use the dependency-reduced-pom after
|
||||||
|
the shaded module has done its thing. That means if we
|
||||||
|
did this as "transitives of the shaded modules" we'd
|
||||||
|
get a duplication of all the jars we already have in our
|
||||||
|
shaded artifacts. See MNG-5899.
|
||||||
|
|
||||||
|
Check that things match by listing files and making
|
||||||
|
sure the runtime scoped things are all present in the
|
||||||
|
tarball. e.g.:
|
||||||
|
|
||||||
|
for module in hbase-shaded-mapreduce hbase-shaded-client; do
|
||||||
|
mvn dependency:list -f hbase-shaded/${module}/dependency-reduced-pom.xml
|
||||||
|
done | \
|
||||||
|
grep -E "runtime|compile" | \
|
||||||
|
grep -v -E "junit|(optional)" | \
|
||||||
|
cut -d ' ' -f 3- | \
|
||||||
|
sort -u
|
||||||
|
|
||||||
|
TODO we should check this in nightly
|
||||||
|
|
||||||
|
Alternatively, we could
|
||||||
|
stop waiting for Maven to fix this and build the client
|
||||||
|
tarball in a different build.
|
||||||
|
-->
|
||||||
|
<includes>
|
||||||
|
<include>com.github.stephenc.findbugs:findbugs-annotations</include>
|
||||||
|
<include>commons-logging:commons-logging</include>
|
||||||
|
<include>log4j:log4j</include>
|
||||||
|
<include>org.apache.htrace:htrace-core4</include>
|
||||||
|
<include>org.apache.htrace:htrace-core</include>
|
||||||
|
<include>org.apache.yetus:audience-annotations</include>
|
||||||
|
<include>org.slf4j:slf4j-api</include>
|
||||||
|
<include>org.slf4j:slf4j-log4j12</include>
|
||||||
|
</includes>
|
||||||
|
</dependencySet>
|
||||||
|
<dependencySet>
|
||||||
|
<outputDirectory>lib/zkcli</outputDirectory>
|
||||||
|
<includes>
|
||||||
|
<include>jline:jline</include>
|
||||||
|
</includes>
|
||||||
|
</dependencySet>
|
||||||
|
<dependencySet>
|
||||||
|
<outputDirectory>lib/jdk11</outputDirectory>
|
||||||
|
<useTransitiveDependencies>true</useTransitiveDependencies>
|
||||||
|
<includes>
|
||||||
|
<include>com.sun.activation:javax.activation</include>
|
||||||
|
<!-- The following artifacts are transitive dependencies of com.sun.xml.ws:jaxws-ri:pom
|
||||||
|
They are needed to be included in lib/jdk11 to be added to classpath during
|
||||||
|
Java 11 runtime
|
||||||
|
-->
|
||||||
|
<include>com.sun.xml.ws:*</include>
|
||||||
|
<include>jakarta.annotation:jakarta.annotation-api</include>
|
||||||
|
<include>org.glassfish.jaxb:*</include>
|
||||||
|
<include>com.sun.istack:istack-commons-runtime</include>
|
||||||
|
<include>org.glassfish.gmbal:gmbal</include>
|
||||||
|
<include>org.glassfish.external:management-api</include>
|
||||||
|
<include>org.glassfish.pfl:*</include>
|
||||||
|
<include>org.jvnet.staxex:stax-ex</include>
|
||||||
|
<include>com.sun.xml.stream.buffer:streambuffer</include>
|
||||||
|
<include>org.jvnet.mimepull:mimepull</include>
|
||||||
|
<include>com.sun.xml.fastinfoset:FastInfoset</include>
|
||||||
|
<include>org.glassfish.ha:ha-api</include>
|
||||||
|
<include>com.sun.xml.messaging.saaj:saaj-impl</include>
|
||||||
|
<include>com.fasterxml.woodstox:woodstox-core</include>
|
||||||
|
<include>org.codehaus.woodstox:stax2-api</include>
|
||||||
|
<include>jakarta.activation:jakarta.activation-api</include>
|
||||||
|
<include>com.sun.xml.bind:jaxb-xjc</include>
|
||||||
|
<include>com.sun.xml.bind:jaxb-jxc</include>
|
||||||
|
<include>jakarta.mail:jakarta.mail-api</include>
|
||||||
|
<include>jakarta.persistence:jakarta.persistence-api</include>
|
||||||
|
<include>org.eclipse.persistence:*</include>
|
||||||
|
<include>jakarta.xml.ws:jakarta.xml.ws-api</include>
|
||||||
|
<include>jakarta.xml.bind:jakarta.xml.bind-api</include>
|
||||||
|
<include>jakarta.xml.soap:jakarta.xml.soap-api</include>
|
||||||
|
<include>jakarta.jws:jakarta.jws-api</include>
|
||||||
|
</includes>
|
||||||
|
</dependencySet>
|
||||||
|
</dependencySets>
|
||||||
|
|
||||||
|
</assembly>
|
2
pom.xml
2
pom.xml
|
@ -2758,7 +2758,7 @@
|
||||||
<hadoop.version>${hadoop-three.version}</hadoop.version>
|
<hadoop.version>${hadoop-three.version}</hadoop.version>
|
||||||
<!--Use this compat module for now. TODO: Make h3 one if we need one-->
|
<!--Use this compat module for now. TODO: Make h3 one if we need one-->
|
||||||
<compat.module>hbase-hadoop2-compat</compat.module>
|
<compat.module>hbase-hadoop2-compat</compat.module>
|
||||||
<assembly.file>src/main/assembly/hadoop-two-compat.xml</assembly.file>
|
<assembly.file>src/main/assembly/hadoop-three-compat.xml</assembly.file>
|
||||||
<!--This property is for hadoops netty. HBase netty
|
<!--This property is for hadoops netty. HBase netty
|
||||||
comes in via hbase-thirdparty hbase-shaded-netty-->
|
comes in via hbase-thirdparty hbase-shaded-netty-->
|
||||||
<netty.hadoop.version>3.10.5.Final</netty.hadoop.version>
|
<netty.hadoop.version>3.10.5.Final</netty.hadoop.version>
|
||||||
|
|
Loading…
Reference in New Issue