启动MiniDFSCluster时出错

时间:2018-01-21 16:01:42

标签: java unit-testing hadoop

我已经遇到了一段时间的问题,而且我没有想法解决它......

我正在尝试为将在Hadoop上运行的java代码开发单元测试。为此,我尝试使用MiniDFSCluster作为网络,这是在单元测试hadoop java代码时最常用的。

当我在团队中工作时,我想创建一个“母类”,其目的是设置MiniDFSCluster。每个需要使用迷你cluser的测试类都会扩展此类,并且每个开发人员都可以根据需要对hadoop代码进行单元测试。

出于上述目的,我写了这个“母班”:

package com.sncf.setup;

import static org.junit.Assert.assertNotNull;

import java.io.File;

import org.apache.hadoop.conf.Configuration; 
import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.hdfs.DistributedFileSystem;
import org.apache.hadoop.hdfs.MiniDFSCluster;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;


public class SetupMiniCluster {

protected static MiniDFSCluster hdfsCluster ; 

protected static File baseDir ; 

protected static DistributedFileSystem fileSystem ; 

protected static String hdfsURI ; 

@BeforeAll
private static void setUpBeforeClass() throws Exception {

    baseDir = new File("./target/hdfs").getAbsoluteFile();
    Configuration conf = new Configuration();
    conf.set(MiniDFSCluster.HDFS_MINIDFS_BASEDIR, baseDir.getAbsolutePath());
    MiniDFSCluster.Builder builder = new MiniDFSCluster.Builder(conf);
    hdfsCluster = builder.numDataNodes(3).build();
    hdfsURI = "hdfs://localhost:"+ hdfsCluster.getNameNodePort() + "/";
    fileSystem = hdfsCluster.getFileSystem();
}

@Test
void testNotNull() {
    assertNotNull(hdfsURI);
    assertNotNull(baseDir);
    assertNotNull(fileSystem);
}

@AfterAll
private static void tearDownAfterClass() throws Exception {
    hdfsCluster.shutdown();
    FileUtil.fullyDelete(baseDir);
}

}

当我将这个类作为JunitTest(使用Junit 5)运行时,我最终获得了以下堆栈跟踪:

java.lang.NoSuchMethodError: org.apache.hadoop.hdfs.DFSUtil.addKeySuffixes(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
at org.apache.hadoop.hdfs.MiniDFSCluster.initNameNodeAddress(MiniDFSCluster.java:1076)
at org.apache.hadoop.hdfs.MiniDFSCluster.createNameNodesAndSetConf(MiniDFSCluster.java:916)
at org.apache.hadoop.hdfs.MiniDFSCluster.initMiniDFSCluster(MiniDFSCluster.java:815)
at org.apache.hadoop.hdfs.MiniDFSCluster.<init>(MiniDFSCluster.java:475)
at org.apache.hadoop.hdfs.MiniDFSCluster$Builder.build(MiniDFSCluster.java:434)
at com.sncf.setup.SetupMiniCluster.setUpBeforeClass(SetupMiniCluster.java:67)
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.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:389)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:115)
at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$invokeBeforeAllMethods$5(ClassTestDescriptor.java:228)
at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.invokeBeforeAllMethods(ClassTestDescriptor.java:227)
at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.before(ClassTestDescriptor.java:151)
at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.before(ClassTestDescriptor.java:61)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:80)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Suppressed: java.lang.NullPointerException
    at com.sncf.setup.SetupMiniCluster.tearDownAfterClass(SetupMiniCluster.java:86)
    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.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:389)
    at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:115)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$null$6(ClassTestDescriptor.java:242)
    at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$invokeAfterAllMethods$7(ClassTestDescriptor.java:241)
    at java.util.ArrayList.forEach(ArrayList.java:1257)
    at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.invokeAfterAllMethods(ClassTestDescriptor.java:241)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.after(ClassTestDescriptor.java:162)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.after(ClassTestDescriptor.java:61)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:96)
    ... 27 more

如果有人有解决方案或者至少知道如何解决这个问题,我们将不胜感激:)

由于

1 个答案:

答案 0 :(得分:0)

这里是mvn依赖的结果:tree @Costi Ciudatu

LesHallesRexJava:LHR_JAVA:jar:0.0.5
+- org.apache.hbase:hbase-testing-util:jar:1.4.0:test
|  +- org.apache.hbase:hbase-common:jar:1.4.0:test
|  |  \- org.apache.hbase:hbase-annotations:jar:1.4.0:test
|  +- org.apache.hbase:hbase-common:test-jar:tests:1.4.0:test
|  +- org.apache.hbase:hbase-annotations:test-jar:tests:1.4.0:test
|  +- org.apache.hbase:hbase-protocol:jar:1.4.0:test
|  +- org.apache.hbase:hbase-client:jar:1.4.0:test
|  |  +- org.jruby.jcodings:jcodings:jar:1.0.8:test
|  |  +- org.jruby.joni:joni:jar:2.1.2:test
|  |  \- com.yammer.metrics:metrics-core:jar:2.2.0:test
|  +- org.apache.hbase:hbase-server:jar:1.4.0:test
|  |  +- org.apache.hbase:hbase-procedure:jar:1.4.0:test
|  |  +- org.apache.hbase:hbase-prefix-tree:jar:1.4.0:test
|  |  +- org.apache.hbase:hbase-metrics-api:jar:1.4.0:test
|  |  +- org.apache.hbase:hbase-metrics:jar:1.4.0:test
|  |  |  \- io.dropwizard.metrics:metrics-core:jar:3.1.2:test
|  |  +- org.mortbay.jetty:servlet-api-2.5:jar:6.1.14:compile
|  |  +- org.codehaus.jackson:jackson-jaxrs:jar:1.9.13:compile
|  |  +- org.jamon:jamon-runtime:jar:2.4.1:test
|  |  +- com.lmax:disruptor:jar:3.3.0:test
|  |  \- org.apache.httpcomponents:httpcore:jar:4.4.4:compile
|  +- org.apache.hbase:hbase-server:test-jar:tests:1.4.0:test
|  +- org.apache.hbase:hbase-hadoop-compat:jar:1.4.0:test
|  +- org.apache.hbase:hbase-hadoop-compat:test-jar:tests:1.4.0:test
|  +- org.apache.hbase:hbase-hadoop2-compat:jar:1.4.0:test
|  +- org.apache.hbase:hbase-hadoop2-compat:test-jar:tests:1.4.0:test
|  +- org.slf4j:slf4j-log4j12:jar:1.7.7:compile
|  +- org.apache.hadoop:hadoop-auth:jar:2.7.4:compile
|  |  +- org.apache.directory.server:apacheds-kerberos-codec:jar:2.0.0-M15:compile
|  |  |  +- org.apache.directory.server:apacheds-i18n:jar:2.0.0-M15:compile
|  |  |  +- org.apache.directory.api:api-asn1-api:jar:1.0.0-M20:compile
|  |  |  \- org.apache.directory.api:api-util:jar:1.0.0-M20:compile
|  |  \- org.apache.curator:curator-framework:jar:2.7.1:compile
|  +- org.apache.hadoop:hadoop-client:jar:2.7.4:test
|  +- org.apache.hadoop:hadoop-mapreduce-client-core:jar:2.7.4:test
|  |  +- org.apache.hadoop:hadoop-yarn-common:jar:2.7.4:test
|  |  |  +- javax.xml.bind:jaxb-api:jar:2.2.2:compile
|  |  |  |  \- javax.xml.stream:stax-api:jar:1.0-2:compile
|  |  |  +- com.sun.jersey:jersey-client:jar:1.9:test
|  |  |  +- com.google.inject:guice:jar:3.0:test
|  |  |  |  +- javax.inject:javax.inject:jar:1:test
|  |  |  |  \- aopalliance:aopalliance:jar:1.0:test
|  |  |  \- com.sun.jersey.contribs:jersey-guice:jar:1.9:test
|  |  \- com.google.inject.extensions:guice-servlet:jar:3.0:test
|  +- org.apache.hadoop:hadoop-mapreduce-client-jobclient:jar:2.7.4:test
|  |  +- org.apache.hadoop:hadoop-mapreduce-client-common:jar:2.7.4:test
|  |  \- org.apache.hadoop:hadoop-mapreduce-client-shuffle:jar:2.7.4:test
|  +- org.apache.hadoop:hadoop-hdfs:test-jar:tests:2.7.4:test
|  +- com.github.stephenc.findbugs:findbugs-annotations:jar:1.3.9-1:test
|  \- junit:junit:jar:4.12:compile
|     \- org.hamcrest:hamcrest-core:jar:1.3:compile
+- com.klarna:hiverunner:jar:3.2.0:test
|  +- org.apache.hive:hive-serde:jar:1.2.1:test
|  |  +- org.apache.hive:hive-common:jar:1.2.1:test
|  |  +- org.apache.hive:hive-shims:jar:1.2.1:test
|  |  |  +- org.apache.hive.shims:hive-shims-common:jar:1.2.1:test
|  |  |  +- org.apache.hive.shims:hive-shims-0.20S:jar:1.2.1:test
|  |  |  +- org.apache.hive.shims:hive-shims-0.23:jar:1.2.1:test
|  |  |  \- org.apache.hive.shims:hive-shims-scheduler:jar:1.2.1:test
|  |  +- org.apache.thrift:libthrift:jar:0.9.2:test
|  |  +- net.sf.opencsv:opencsv:jar:2.3:test
|  |  \- com.twitter:parquet-hadoop-bundle:jar:1.6.0:test
|  +- org.apache.hive:hive-jdbc:jar:1.2.1:test
|  |  \- org.apache.hive:hive-metastore:jar:1.2.1:test
|  |     +- com.jolbox:bonecp:jar:0.8.0.RELEASE:test
|  |     +- org.apache.derby:derby:jar:10.10.2.0:test
|  |     +- commons-pool:commons-pool:jar:1.5.4:test
|  |     +- commons-dbcp:commons-dbcp:jar:1.4:test
|  |     +- javax.jdo:jdo-api:jar:3.0.1:test
|  |     |  \- javax.transaction:jta:jar:1.1:test
|  |     \- org.antlr:antlr-runtime:jar:3.4:test
|  |        +- org.antlr:stringtemplate:jar:3.2.1:test
|  |        \- antlr:antlr:jar:2.7.7:compile
|  +- org.apache.hive.hcatalog:hive-webhcat-java-client:jar:1.2.1:test
|  |  +- org.apache.hive.hcatalog:hive-hcatalog-core:jar:1.2.1:test
|  |  |  \- org.apache.hive:hive-cli:jar:1.2.1:test
|  |  +- org.apache.hive.hcatalog:hive-hcatalog-server-extensions:jar:1.2.1:test
|  |  |  \- javax.jms:jms:jar:1.1:test
|  |  \- org.apache.hive:hive-exec:jar:1.2.1:test
|  |     +- org.apache.hive:hive-ant:jar:1.2.1:test
|  |     +- log4j:apache-log4j-extras:jar:1.2.17:test
|  |     +- org.antlr:ST4:jar:4.0.4:test
|  |     +- org.apache.ant:ant:jar:1.9.1:test
|  |     |  \- org.apache.ant:ant-launcher:jar:1.9.1:test
|  |     +- org.apache.ivy:ivy:jar:2.4.0:test
|  |     +- org.apache.curator:apache-curator:pom:2.6.0:test
|  |     +- org.codehaus.groovy:groovy-all:jar:2.1.6:test
|  |     +- org.apache.calcite:calcite-core:jar:1.2.0-incubating:test
|  |     |  +- org.apache.calcite:calcite-linq4j:jar:1.2.0-incubating:test
|  |     |  +- net.hydromatic:eigenbase-properties:jar:1.1.5:test
|  |     |  +- org.codehaus.janino:janino:jar:2.7.6:test
|  |     |  +- org.codehaus.janino:commons-compiler:jar:2.7.6:test
|  |     |  \- org.pentaho:pentaho-aggdesigner-algorithm:jar:5.1.5-jhyde:test
|  |     +- org.apache.calcite:calcite-avatica:jar:1.2.0-incubating:test
|  |     +- stax:stax-api:jar:1.0.1:compile
|  |     \- jline:jline:jar:2.12:test
|  +- org.hsqldb:hsqldb:jar:2.3.1:test
|  +- org.apache.hive:hive-service:jar:1.2.1:test
|  |  +- net.sf.jpam:jpam:jar:1.1:test
|  |  +- org.eclipse.jetty.aggregate:jetty-all:jar:7.6.0.v20120127:test
|  |  |  +- org.apache.geronimo.specs:geronimo-jta_1.1_spec:jar:1.1.1:test
|  |  |  +- javax.mail:mail:jar:1.4.1:test
|  |  |  +- javax.activation:activation:jar:1.1:compile
|  |  |  +- org.apache.geronimo.specs:geronimo-jaspic_1.0_spec:jar:1.0:test
|  |  |  +- org.apache.geronimo.specs:geronimo-annotation_1.0_spec:jar:1.1.1:test
|  |  |  \- asm:asm-commons:jar:3.1:test
|  |  |     \- asm:asm-tree:jar:3.1:test
|  |  \- org.apache.thrift:libfb303:jar:0.9.2:test
|  +- org.datanucleus:datanucleus-api-jdo:jar:3.2.8:test
|  +- org.apache.tez:tez-dag:jar:0.7.0:test
|  |  +- org.apache.tez:tez-api:jar:0.7.0:test
|  |  |  \- org.apache.commons:commons-collections4:jar:4.0:test
|  |  +- org.apache.tez:tez-runtime-internals:jar:0.7.0:test
|  |  +- org.apache.tez:tez-runtime-library:jar:0.7.0:test
|  |  +- org.apache.hadoop:hadoop-yarn-client:jar:2.6.0:test
|  |  +- org.apache.hadoop:hadoop-yarn-server-web-proxy:jar:2.6.0:test
|  |  \- org.codehaus.jettison:jettison:jar:1.3.4:compile
|  +- org.apache.tez:tez-common:jar:0.7.0:test
|  +- org.apache.tez:tez-mapreduce:jar:0.7.0:test
|  +- org.datanucleus:datanucleus-core:jar:3.2.12:test
|  +- org.datanucleus:datanucleus-rdbms:jar:3.2.11:test
|  \- org.reflections:reflections:jar:0.9.8:test
|     +- javassist:javassist:jar:3.12.1.GA:test
|     \- dom4j:dom4j:jar:1.6.1:compile
+- org.apache.hadoop:hadoop-minicluster:jar:2.7.4:test
|  +- org.apache.hadoop:hadoop-common:test-jar:tests:2.7.4:test
|  +- org.apache.hadoop:hadoop-yarn-server-tests:test-jar:tests:2.7.4:test
|  |  +- org.apache.hadoop:hadoop-yarn-server-common:jar:2.7.4:test
|  |  +- org.apache.hadoop:hadoop-yarn-server-nodemanager:jar:2.7.4:test
|  |  \- org.apache.hadoop:hadoop-yarn-server-resourcemanager:jar:2.7.4:test
|  |     +- org.apache.hadoop:hadoop-yarn-server-applicationhistoryservice:jar:2.7.4:test
|  |     \- org.apache.zookeeper:zookeeper:test-jar:tests:3.4.6:test
|  +- org.apache.hadoop:hadoop-mapreduce-client-jobclient:test-jar:tests:2.7.4:test
|  +- org.apache.hadoop:hadoop-mapreduce-client-app:jar:2.7.4:test
|  +- org.apache.hadoop:hadoop-yarn-api:jar:2.7.4:test
|  \- org.apache.hadoop:hadoop-mapreduce-client-hs:jar:2.7.4:test
+- org.apache.hadoop:hadoop-test:jar:1.2.1:test
|  +- org.apache.ftpserver:ftplet-api:jar:1.0.0:test
|  +- org.apache.mina:mina-core:jar:2.0.0-M5:test
|  +- org.apache.ftpserver:ftpserver-core:jar:1.0.0:test
|  \- org.apache.ftpserver:ftpserver-deprecated:jar:1.0.0-M2:test
+- org.apache.hadoop:hadoop-common:jar:2.7.4:compile
|  +- org.apache.hadoop:hadoop-annotations:jar:2.7.4:compile
|  +- com.google.guava:guava:jar:11.0.2:compile
|  +- commons-cli:commons-cli:jar:1.2:compile
|  +- org.apache.commons:commons-math3:jar:3.1.1:compile
|  +- xmlenc:xmlenc:jar:0.52:compile
|  +- commons-httpclient:commons-httpclient:jar:3.1:compile
|  +- commons-codec:commons-codec:jar:1.4:compile
|  +- commons-io:commons-io:jar:2.4:compile
|  +- commons-net:commons-net:jar:3.1:compile
|  +- commons-collections:commons-collections:jar:3.2.2:compile
|  +- javax.servlet:servlet-api:jar:2.5:compile
|  +- org.mortbay.jetty:jetty:jar:6.1.26:compile
|  +- org.mortbay.jetty:jetty-util:jar:6.1.26:compile
|  +- org.mortbay.jetty:jetty-sslengine:jar:6.1.26:compile
|  +- javax.servlet.jsp:jsp-api:jar:2.1:runtime
|  +- com.sun.jersey:jersey-core:jar:1.9:compile
|  +- com.sun.jersey:jersey-json:jar:1.9:compile
|  |  +- com.sun.xml.bind:jaxb-impl:jar:2.2.3-1:compile
|  |  \- org.codehaus.jackson:jackson-xc:jar:1.8.3:compile
|  +- com.sun.jersey:jersey-server:jar:1.9:compile
|  |  \- asm:asm:jar:3.1:compile
|  +- commons-logging:commons-logging:jar:1.1.3:compile
|  +- net.java.dev.jets3t:jets3t:jar:0.9.0:compile
|  |  \- com.jamesmurty.utils:java-xmlbuilder:jar:0.4:compile
|  +- commons-lang:commons-lang:jar:2.6:compile
|  +- commons-configuration:commons-configuration:jar:1.6:compile
|  |  +- commons-digester:commons-digester:jar:1.8:compile
|  |  |  \- commons-beanutils:commons-beanutils:jar:1.7.0:compile
|  |  \- commons-beanutils:commons-beanutils-core:jar:1.8.0:compile
|  +- org.slf4j:slf4j-api:jar:1.7.10:compile
|  +- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
|  +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile
|  +- org.apache.avro:avro:jar:1.7.4:compile
|  |  +- com.thoughtworks.paranamer:paranamer:jar:2.3:compile
|  |  \- org.xerial.snappy:snappy-java:jar:1.0.4.1:compile
|  +- com.google.protobuf:protobuf-java:jar:2.5.0:compile
|  +- com.jcraft:jsch:jar:0.1.54:compile
|  +- org.apache.curator:curator-client:jar:2.7.1:compile
|  +- org.apache.curator:curator-recipes:jar:2.7.1:compile
|  +- com.google.code.findbugs:jsr305:jar:3.0.0:compile
|  +- org.apache.htrace:htrace-core:jar:3.1.0-incubating:compile
|  +- org.apache.zookeeper:zookeeper:jar:3.4.6:compile
|  \- org.apache.commons:commons-compress:jar:1.4.1:compile
|     \- org.tukaani:xz:jar:1.0:compile
+- org.apache.hadoop:hadoop-core:jar:1.2.1:compile
|  +- org.apache.commons:commons-math:jar:2.1:compile
|  +- tomcat:jasper-runtime:jar:5.5.12:compile
|  +- tomcat:jasper-compiler:jar:5.5.12:compile
|  +- org.mortbay.jetty:jsp-api-2.1:jar:6.1.14:compile
|  +- org.mortbay.jetty:jsp-2.1:jar:6.1.14:compile
|  |  \- ant:ant:jar:1.6.5:compile
|  +- commons-el:commons-el:jar:1.0:compile
|  +- hsqldb:hsqldb:jar:1.8.0.10:compile
|  +- oro:oro:jar:2.0.8:compile
|  \- org.eclipse.jdt:core:jar:3.1.1:compile
+- org.mockito:mockito-core:jar:2.13.0:test
|  +- net.bytebuddy:byte-buddy:jar:1.7.9:test
|  +- net.bytebuddy:byte-buddy-agent:jar:1.7.9:test
|  \- org.objenesis:objenesis:jar:2.6:test
+- org.apache.hadoop:hadoop-hdfs:jar:2.7.4:compile
|  +- commons-daemon:commons-daemon:jar:1.0.13:compile
|  +- io.netty:netty:jar:3.6.2.Final:compile
|  +- io.netty:netty-all:jar:4.0.23.Final:compile
|  +- xerces:xercesImpl:jar:2.9.1:compile
|  |  \- xml-apis:xml-apis:jar:1.3.04:compile
|  \- org.fusesource.leveldbjni:leveldbjni-all:jar:1.8:compile
+- org.apache.maven.plugins:maven-javadoc-plugin:jar:3.0.0-M1:compile
|  +- org.apache.maven:maven-core:jar:3.0:compile
|  |  +- org.apache.maven:maven-settings-builder:jar:3.0:compile
|  |  +- org.apache.maven:maven-repository-metadata:jar:3.0:compile
|  |  +- org.apache.maven:maven-model-builder:jar:3.0:compile
|  |  +- org.apache.maven:maven-aether-provider:jar:3.0:runtime
|  |  +- org.sonatype.aether:aether-impl:jar:1.7:compile
|  |  |  \- org.sonatype.aether:aether-spi:jar:1.7:compile
|  |  +- org.sonatype.aether:aether-api:jar:1.7:compile
|  |  +- org.sonatype.aether:aether-util:jar:1.7:compile
|  |  +- org.sonatype.sisu:sisu-inject-plexus:jar:1.4.2:compile
|  |  |  \- org.sonatype.sisu:sisu-inject-bean:jar:1.4.2:compile
|  |  |     \- org.sonatype.sisu:sisu-guice:jar:noaop:2.1.7:compile
|  |  +- org.codehaus.plexus:plexus-interpolation:jar:1.14:compile
|  |  +- org.codehaus.plexus:plexus-classworlds:jar:2.2.3:compile
|  |  +- org.codehaus.plexus:plexus-component-annotations:jar:1.5.5:compile
|  |  \- org.sonatype.plexus:plexus-sec-dispatcher:jar:1.3:compile
|  |     \- org.sonatype.plexus:plexus-cipher:jar:1.4:compile
|  +- org.apache.maven:maven-model:jar:3.0:compile
|  +- org.apache.maven:maven-settings:jar:3.0:compile
|  +- org.apache.maven:maven-plugin-api:jar:3.0:compile
|  +- org.apache.maven:maven-artifact:jar:3.0:compile
|  +- org.apache.maven.reporting:maven-reporting-api:jar:3.0:compile
|  +- org.apache.maven:maven-archiver:jar:3.1.1:compile
|  +- org.apache.maven.shared:maven-invoker:jar:2.2:compile
|  +- org.apache.maven.shared:maven-common-artifact-filters:jar:3.0.0:compile
|  +- org.apache.maven.shared:maven-artifact-transfer:jar:0.9.1:compile
|  +- org.apache.maven.doxia:doxia-sink-api:jar:1.7:compile
|  |  \- org.apache.maven.doxia:doxia-logging-api:jar:1.7:compile
|  +- org.apache.maven.doxia:doxia-site-renderer:jar:1.7.4:compile
|  |  +- org.apache.maven.doxia:doxia-core:jar:1.7:compile
|  |  |  \- xmlunit:xmlunit:jar:1.5:compile
|  |  +- org.apache.maven.doxia:doxia-decoration-model:jar:1.7.4:compile
|  |  +- org.apache.maven.doxia:doxia-skin-model:jar:1.7.4:compile
|  |  +- org.apache.maven.doxia:doxia-module-xhtml:jar:1.7:compile
|  |  +- org.codehaus.plexus:plexus-i18n:jar:1.0-beta-7:compile
|  |  +- org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-30:compile
|  |  +- org.codehaus.plexus:plexus-velocity:jar:1.2:compile
|  |  +- org.apache.velocity:velocity:jar:1.7:compile
|  |  \- org.apache.velocity:velocity-tools:jar:2.0:compile
|  |     +- commons-chain:commons-chain:jar:1.1:compile
|  |     +- commons-validator:commons-validator:jar:1.3.1:compile
|  |     +- sslext:sslext:jar:1.2-0:compile
|  |     +- org.apache.struts:struts-core:jar:1.3.8:compile
|  |     +- org.apache.struts:struts-taglib:jar:1.3.8:compile
|  |     \- org.apache.struts:struts-tiles:jar:1.3.8:compile
|  +- org.apache.maven.wagon:wagon-provider-api:jar:1.0-beta-6:compile
|  +- org.apache.commons:commons-lang3:jar:3.5:compile
|  +- org.apache.httpcomponents:httpclient:jar:4.5.2:compile
|  +- com.thoughtworks.qdox:qdox:jar:1.12.1:compile
|  +- org.codehaus.plexus:plexus-archiver:jar:3.4:compile
|  |  +- org.codehaus.plexus:plexus-io:jar:2.7.1:compile
|  |  \- org.iq80.snappy:snappy:jar:0.4:compile
|  +- org.codehaus.plexus:plexus-utils:jar:3.0.24:compile
|  \- org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4:compile
|     \- classworlds:classworlds:jar:1.1-alpha-2:compile
+- com.google.code.gson:gson:jar:2.8.2:compile
+- org.apache.maven.plugins:maven-jar-plugin:jar:3.0.2:compile
+- org.apache.maven.plugins:maven-compiler-plugin:jar:3.7.0:compile
|  +- org.apache.maven.shared:maven-shared-utils:jar:3.1.0:compile
|  +- org.apache.maven.shared:maven-shared-incremental:jar:1.1:compile
|  +- org.codehaus.plexus:plexus-java:jar:0.9.2:compile
|  |  \- org.ow2.asm:asm:jar:6.0_BETA:compile
|  +- org.codehaus.plexus:plexus-compiler-api:jar:2.8.2:compile
|  +- org.codehaus.plexus:plexus-compiler-manager:jar:2.8.2:compile
|  \- org.codehaus.plexus:plexus-compiler-javac:jar:2.8.2:runtime
+- log4j:log4j:jar:1.2.17:compile
+- org.junit.platform:junit-platform-launcher:jar:1.0.1:compile
+- org.junit.platform:junit-platform-runner:jar:1.0.1:compile
+- org.junit.platform:junit-platform-commons:jar:1.0.1:compile
+- org.junit.platform:junit-platform-console:jar:1.0.1:compile
+- org.junit.platform:junit-platform-engine:jar:1.0.1:compile
|  \- org.opentest4j:opentest4j:jar:1.0.0:compile
+- org.junit.platform:junit-platform-surefire-provider:jar:1.0.1:compile
|  +- org.apache.maven.surefire:surefire-api:jar:2.19.1:runtime
|  \- org.apache.maven.surefire:common-java5:jar:2.19.1:runtime
+- org.junit.platform:junit-platform-suite-api:jar:1.0.1:compile
+- org.junit.jupiter:junit-jupiter-api:jar:5.0.1:compile
+- org.junit.jupiter:junit-jupiter-engine:jar:5.0.1:compile
\- org.junit.jupiter:junit-jupiter-params:jar:5.0.1:compile