1 <project xmlns="http://maven.apache.org/POM/4.0.0"
2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
6 * Licensed to the Apache Software Foundation (ASF) under one
7 * or more contributor license agreements. See the NOTICE file
8 * distributed with this work for additional information
9 * regarding copyright ownership. The ASF licenses this file
10 * to you under the Apache License, Version 2.0 (the
11 * "License"); you may not use this file except in compliance
12 * with the License. You may obtain a copy of the License at
14 * http://www.apache.org/licenses/LICENSE-2.0
16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
23 <modelVersion>4.0.0</modelVersion>
25 <artifactId>hbase-shaded</artifactId>
26 <groupId>org.apache.hbase</groupId>
27 <version>3.0.0-SNAPSHOT</version>
28 <relativePath>..</relativePath>
30 <artifactId>hbase-shaded-mapreduce</artifactId>
31 <name>Apache HBase - Shaded - MapReduce</name>
35 <groupId>org.apache.maven.plugins</groupId>
36 <artifactId>maven-site-plugin</artifactId>
42 <!--Make it so assembly:single does nothing in here-->
43 <artifactId>maven-assembly-plugin</artifactId>
45 <skipAssembly>true</skipAssembly>
49 <groupId>org.apache.maven.plugins</groupId>
50 <artifactId>maven-jar-plugin</artifactId>
54 <!--Include the Driver class as the 'main'.
55 Executing the jar will then show a list of the basic MR jobs.
57 <mainClass>org/apache/hadoop/hbase/mapreduce/Driver</mainClass>
66 We want to ensure needed hadoop bits are at provided scope for our shaded
67 artifact, so we list them below in hadoop specific profiles.
70 <groupId>org.apache.hbase</groupId>
71 <artifactId>hbase-mapreduce</artifactId>
73 <!-- Jaxb-api is a part of Java SE now -->
75 <groupId>javax.xml.bind</groupId>
76 <artifactId>jaxb-api</artifactId>
78 <!-- Jersey not used by our MR support -->
80 <groupId>javax.ws.rs</groupId>
81 <artifactId>javax.ws.rs-api</artifactId>
84 <groupId>com.sun.jersey</groupId>
85 <artifactId>jersey-server</artifactId>
88 <groupId>com.sun.jersey</groupId>
89 <artifactId>jersey-client</artifactId>
92 <groupId>com.sun.jersey</groupId>
93 <artifactId>jersey-core</artifactId>
96 <groupId>com.sun.jersey</groupId>
97 <artifactId>jersey-json</artifactId>
100 <groupId>com.sun.jersey.contribs</groupId>
101 <artifactId>jersey-guice</artifactId>
103 <!-- Jetty not used by our MR support -->
105 <groupId>javax.servlet</groupId>
106 <artifactId>javax.servlet-api</artifactId>
109 <groupId>org.eclipse.jetty</groupId>
110 <artifactId>jetty-http</artifactId>
113 <groupId>org.eclipse.jetty</groupId>
114 <artifactId>jetty-security</artifactId>
117 <groupId>org.eclipse.jetty</groupId>
118 <artifactId>jetty-server</artifactId>
121 <groupId>org.eclipse.jetty</groupId>
122 <artifactId>jetty-servlet</artifactId>
125 <groupId>org.eclipse.jetty</groupId>
126 <artifactId>jetty-util</artifactId>
129 <groupId>org.eclipse.jetty</groupId>
130 <artifactId>jetty-util-ajax</artifactId>
133 <groupId>org.eclipse.jetty</groupId>
134 <artifactId>jetty-jsp</artifactId>
137 <groupId>org.glassfish</groupId>
138 <artifactId>javax.el</artifactId>
141 <groupId>org.eclipse.jetty</groupId>
142 <artifactId>jetty-webapp</artifactId>
145 <groupId>org.glassfish.jersey.core</groupId>
146 <artifactId>jersey-server</artifactId>
149 <groupId>org.glassfish.jersey.containers</groupId>
150 <artifactId>jersey-container-servlet-core</artifactId>
152 <!-- We excluded the server-side generated classes for JSP, so exclude
153 their runtime support libraries too
156 <groupId>org.glassfish.web</groupId>
157 <artifactId>javax.servlet.jsp</artifactId>
160 <groupId>javax.servlet.jsp</groupId>
161 <artifactId>javax.servlet.jsp-api</artifactId>
172 <!-- Tell the shade plugin we want to leave Hadoop as a dependency -->
174 <groupId>org.apache.maven.plugins</groupId>
175 <artifactId>maven-shade-plugin</artifactId>
178 <id>aggregate-into-a-jar-with-relocated-third-parties</id>
182 <exclude>org.apache.hadoop:*</exclude>
183 <!-- The rest of these should be kept in sync with the parent pom -->
184 <exclude>org.apache.hbase:hbase-resource-bundle</exclude>
185 <exclude>org.slf4j:*</exclude>
186 <exclude>com.google.code.findbugs:*</exclude>
187 <exclude>com.github.stephenc.findbugs:*</exclude>
188 <exclude>org.apache.htrace:*</exclude>
189 <exclude>org.apache.yetus:*</exclude>
190 <exclude>log4j:*</exclude>
191 <exclude>commons-logging:*</exclude>
201 <!-- These hadoop profiles should be derived from those in the hbase-mapreduce
202 module. Essentially, you must list the same hadoop-* dependencies
203 since provided dependencies are not transitively included.
205 <!-- profile against Hadoop 2.x: This is the default. -->
210 <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
211 <!--h2--><name>!hadoop.profile</name>
216 <groupId>org.apache.hadoop</groupId>
217 <artifactId>hadoop-common</artifactId>
218 <scope>provided</scope>
221 <groupId>net.java.dev.jets3t</groupId>
222 <artifactId>jets3t</artifactId>
225 <groupId>javax.servlet.jsp</groupId>
226 <artifactId>jsp-api</artifactId>
229 <groupId>org.mortbay.jetty</groupId>
230 <artifactId>jetty</artifactId>
233 <groupId>com.sun.jersey</groupId>
234 <artifactId>jersey-server</artifactId>
237 <groupId>com.sun.jersey</groupId>
238 <artifactId>jersey-core</artifactId>
241 <groupId>com.sun.jersey</groupId>
242 <artifactId>jersey-json</artifactId>
245 <groupId>javax.servlet</groupId>
246 <artifactId>servlet-api</artifactId>
249 <groupId>tomcat</groupId>
250 <artifactId>jasper-compiler</artifactId>
253 <groupId>tomcat</groupId>
254 <artifactId>jasper-runtime</artifactId>
257 <groupId>com.google.code.findbugs</groupId>
258 <artifactId>jsr305</artifactId>
263 <groupId>org.apache.hadoop</groupId>
264 <artifactId>hadoop-hdfs</artifactId>
265 <scope>provided</scope>
268 <groupId>javax.servlet.jsp</groupId>
269 <artifactId>jsp-api</artifactId>
272 <groupId>javax.servlet</groupId>
273 <artifactId>servlet-api</artifactId>
276 <groupId>io.netty</groupId>
277 <artifactId>netty</artifactId>
280 <groupId>stax</groupId>
281 <artifactId>stax-api</artifactId>
284 <groupId>xerces</groupId>
285 <artifactId>xercesImpl</artifactId>
288 <version>${hadoop-two.version}</version>
291 <groupId>org.apache.hadoop</groupId>
292 <artifactId>hadoop-mapreduce-client-core</artifactId>
293 <scope>provided</scope>
296 <groupId>com.google.guava</groupId>
297 <artifactId>guava</artifactId>
302 <groupId>org.apache.hadoop</groupId>
303 <artifactId>hadoop-auth</artifactId>
304 <scope>provided</scope>
310 profile for building against Hadoop 3.0.x. Activate using:
311 mvn -Dhadoop.profile=3.0
317 <name>hadoop.profile</name>
322 <hadoop.version>${hadoop-three.version}</hadoop.version>
326 <groupId>org.apache.hadoop</groupId>
327 <artifactId>hadoop-common</artifactId>
328 <scope>provided</scope>
331 <groupId>org.apache.hadoop</groupId>
332 <artifactId>hadoop-hdfs</artifactId>
333 <scope>provided</scope>
336 <groupId>org.apache.hadoop</groupId>
337 <artifactId>hadoop-auth</artifactId>
338 <scope>provided</scope>