Not a duplicate of
- java.lang.IllegalArgumentException: Jetty ALPN/NPN has not been properly configured (not using SpringBoot or Tomcat)
- Google-Cloud: Jetty ALPN/NPN has not been properly configured (same as above)
- GRPC - .IllegalArgumentException: Jetty ALPN/NPN has not been properly configured (not using Docker containers)
Just started trying to use Google Cloud PubSub for the first time with my GAE (Standard) app. When trying to create a topic I get the following exception:
java.lang.IllegalArgumentException: Jetty ALPN/NPN has not been properly configured.
at io.grpc.netty.GrpcSslContexts.selectApplicationProtocolConfig(GrpcSslContexts.java:162)
at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:136)
at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:124)
at io.grpc.netty.GrpcSslContexts.forClient(GrpcSslContexts.java:94)
at io.grpc.netty.NettyChannelBuilder$NettyTransportFactory$DefaultNettyTransportCreationParamsFilterFactory.<init>(NettyChannelBuilder.java:521)
at io.grpc.netty.NettyChannelBuilder$NettyTransportFactory$DefaultNettyTransportCreationParamsFilterFactory.<init>(NettyChannelBuilder.java:514)
at io.grpc.netty.NettyChannelBuilder$NettyTransportFactory.<init>(NettyChannelBuilder.java:453)
at io.grpc.netty.NettyChannelBuilder.buildTransportFactory(NettyChannelBuilder.java:312)
at io.grpc.internal.AbstractManagedChannelImplBuilder.build(AbstractManagedChannelImplBuilder.java:324)
at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.createChannel(InstantiatingGrpcChannelProvider.java:165)
at com.google.api.gax.grpc.InstantiatingGrpcChannelProvider.getTransportChannel(InstantiatingGrpcChannelProvider.java:130)
at com.google.api.gax.rpc.ClientContext.create(ClientContext.java:122)
at com.google.cloud.pubsub.v1.stub.GrpcPublisherStub.create(GrpcPublisherStub.java:160)
at com.google.cloud.pubsub.v1.TopicAdminSettings.createStub(TopicAdminSettings.java:200)
at com.google.cloud.pubsub.v1.TopicAdminClient.<init>(TopicAdminClient.java:152)
at com.google.cloud.pubsub.v1.TopicAdminClient.create(TopicAdminClient.java:134)
at com.google.cloud.pubsub.v1.TopicAdminClient.create(TopicAdminClient.java:126)
at com.example.api2.PubSub.createTopic(PubSub.java:53)
...
Seems to be an issue with incompatible versions of jars. While investigating I landed up at this Troubleshooting section. Looking at the versions of the libraries I have the following:
grpc-netty
: 1.7.0netty-codec-http2
: 4.1.16.Finalnetty-tcnative-boringssl-static
: 2.0.6.Final
According to a table in that section this is one of the "known to work version combinations" (emphasis mine). So what am I missing?
My complete dependency tree:
--- maven-dependency-plugin:2.8:tree (default-cli) @ xyz ---
com.example:xyz:war:0.1-SNAPSHOT
+- com.google.appengine:appengine-api-1.0-sdk:jar:1.9.59:compile
+- javax.servlet:servlet-api:jar:2.5:provided (scope not updated to compile)
+- com.google.guava:guava:jar:20.0:compile
+- com.google.http-client:google-http-client-appengine:jar:1.21.0:compile
| \- com.google.http-client:google-http-client:jar:1.21.0:compile
| +- (com.google.code.findbugs:jsr305:jar:1.3.9:compile - omitted for conflict with 3.0.1)
| \- org.apache.httpcomponents:httpclient:jar:4.0.1:compile
| +- org.apache.httpcomponents:httpcore:jar:4.0.1:compile
| +- (commons-logging:commons-logging:jar:1.1.1:compile - omitted for conflict with 1.2)
| \- commons-codec:commons-codec:jar:1.3:compile
+- org.apache.commons:commons-lang3:jar:3.4:compile
+- commons-io:commons-io:jar:2.4:compile
+- com.googlecode.objectify:objectify:jar:5.1.9:compile
| \- (com.google.guava:guava:jar:18.0:compile - omitted for conflict with 20.0)
+- org.apache.shiro:shiro-core:jar:1.2.4:compile
| +- org.slf4j:slf4j-api:jar:1.6.4:compile
| \- (commons-beanutils:commons-beanutils:jar:1.8.3:compile - omitted for conflict with 1.9.2)
+- org.apache.shiro:shiro-web:jar:1.2.4:compile
| \- (org.apache.shiro:shiro-core:jar:1.2.4:compile - omitted for duplicate)
+- commons-validator:commons-validator:jar:1.5.0:compile
| +- (commons-beanutils:commons-beanutils:jar:1.9.2:compile - omitted for conflict with 1.8.3)
| +- commons-digester:commons-digester:jar:1.8.1:compile
| +- commons-logging:commons-logging:jar:1.2:compile
| \- commons-collections:commons-collections:jar:3.2.2:compile
+- commons-beanutils:commons-beanutils:jar:1.9.2:compile
| +- (commons-logging:commons-logging:jar:1.1.1:compile - omitted for conflict with 1.2)
| \- (commons-collections:commons-collections:jar:3.2.1:compile - omitted for conflict with 3.2.2)
+- org.glassfish.jersey.core:jersey-server:jar:2.9:compile
| +- org.glassfish.jersey.core:jersey-common:jar:2.9:compile
| | +- (javax.ws.rs:javax.ws.rs-api:jar:2.0:compile - omitted for duplicate)
| | +- (javax.annotation:javax.annotation-api:jar:1.2:compile - omitted for duplicate)
| | +- org.glassfish.jersey.bundles.repackaged:jersey-guava:jar:2.9:compile
| | +- (org.glassfish.hk2:hk2-api:jar:2.3.0-b05:compile - omitted for duplicate)
| | +- (org.glassfish.hk2.external:javax.inject:jar:2.3.0-b05:compile - omitted for duplicate)
| | +- (org.glassfish.hk2:hk2-locator:jar:2.3.0-b05:compile - omitted for duplicate)
| | \- org.glassfish.hk2:osgi-resource-locator:jar:1.0.1:compile
| +- org.glassfish.jersey.core:jersey-client:jar:2.9:compile
| | +- (org.glassfish.jersey.core:jersey-common:jar:2.9:compile - omitted for duplicate)
| | +- (javax.ws.rs:javax.ws.rs-api:jar:2.0:compile - omitted for duplicate)
| | +- (org.glassfish.hk2:hk2-api:jar:2.3.0-b05:compile - omitted for duplicate)
| | +- (org.glassfish.hk2.external:javax.inject:jar:2.3.0-b05:compile - omitted for duplicate)
| | \- (org.glassfish.hk2:hk2-locator:jar:2.3.0-b05:compile - omitted for duplicate)
| +- javax.ws.rs:javax.ws.rs-api:jar:2.0:compile
| +- javax.annotation:javax.annotation-api:jar:1.2:compile
| +- org.glassfish.hk2:hk2-api:jar:2.3.0-b05:compile
| | +- org.glassfish.hk2:hk2-utils:jar:2.3.0-b05:compile
| | \- org.glassfish.hk2.external:aopalliance-repackaged:jar:2.3.0-b05:compile
| +- org.glassfish.hk2.external:javax.inject:jar:2.3.0-b05:compile
| +- org.glassfish.hk2:hk2-locator:jar:2.3.0-b05:compile
| | +- (org.glassfish.hk2.external:javax.inject:jar:2.3.0-b05:compile - omitted for duplicate)
| | +- (org.glassfish.hk2.external:aopalliance-repackaged:jar:2.3.0-b05:compile - omitted for duplicate)
| | +- (org.glassfish.hk2:hk2-api:jar:2.3.0-b05:compile - omitted for duplicate)
| | +- (org.glassfish.hk2:hk2-utils:jar:2.3.0-b05:compile - omitted for duplicate)
| | \- org.javassist:javassist:jar:3.18.1-GA:compile
| \- javax.validation:validation-api:jar:1.1.0.Final:compile
+- org.glassfish.jersey.containers:jersey-container-servlet:jar:2.9:compile
| +- org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.9:compile
| | +- (org.glassfish.hk2.external:javax.inject:jar:2.3.0-b05:compile - omitted for duplicate)
| | +- (org.glassfish.jersey.core:jersey-server:jar:2.9:compile - omitted for duplicate)
| | +- (org.glassfish.jersey.core:jersey-common:jar:2.9:compile - omitted for duplicate)
| | \- (javax.ws.rs:javax.ws.rs-api:jar:2.0:compile - omitted for duplicate)
| +- (org.glassfish.jersey.core:jersey-common:jar:2.9:compile - omitted for duplicate)
| +- (org.glassfish.jersey.core:jersey-server:jar:2.9:compile - omitted for duplicate)
| \- (javax.ws.rs:javax.ws.rs-api:jar:2.0:compile - omitted for duplicate)
+- org.glassfish.jersey.ext:jersey-mvc-jsp:jar:2.9:compile
| +- (org.glassfish.hk2.external:javax.inject:jar:2.3.0-b05:compile - omitted for duplicate)
| +- (org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.9:compile - omitted for duplicate)
| +- org.glassfish.jersey.ext:jersey-mvc:jar:2.9:compile
| | +- (javax.servlet:servlet-api:jar:2.4:compile - omitted for conflict with 2.5)
| | +- (org.glassfish.jersey.core:jersey-server:jar:2.9:compile - omitted for duplicate)
| | \- (javax.ws.rs:javax.ws.rs-api:jar:2.0:compile - omitted for duplicate)
| \- (javax.ws.rs:javax.ws.rs-api:jar:2.0:compile - omitted for duplicate)
+- org.glassfish.jersey.media:jersey-media-json-jackson:jar:2.9:runtime
| +- (org.glassfish.jersey.core:jersey-common:jar:2.9:runtime - omitted for duplicate)
| +- (com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.3.2:runtime - omitted for conflict with 2.9.4)
| \- (com.fasterxml.jackson.core:jackson-annotations:jar:2.3.2:compile - scope updated from runtime; omitted for duplicate)
+- org.glassfish.jersey.media:jersey-media-multipart:jar:2.9:compile
| +- (org.glassfish.hk2.external:javax.inject:jar:2.3.0-b05:compile - omitted for duplicate)
| +- (org.glassfish.jersey.core:jersey-server:jar:2.9:compile - omitted for duplicate)
| \- org.jvnet.mimepull:mimepull:jar:1.9.3:compile
+- org.glassfish.jersey.ext:jersey-mvc-freemarker:jar:2.9:compile
| +- (org.glassfish.jersey.ext:jersey-mvc:jar:2.9:compile - omitted for duplicate)
| \- (javax.ws.rs:javax.ws.rs-api:jar:2.0:compile - omitted for duplicate)
+- com.fasterxml.jackson.core:jackson-core:jar:2.9.4:compile
+- com.fasterxml.jackson.core:jackson-databind:jar:2.9.4:compile
| +- (com.fasterxml.jackson.core:jackson-annotations:jar:2.3.2:compile - omitted for conflict with 2.9.4)
| \- (com.fasterxml.jackson.core:jackson-core:jar:2.9.4:compile - omitted for duplicate)
+- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.4:compile
+- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.9.4:compile
| +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.9.4:compile
| | +- (com.fasterxml.jackson.core:jackson-core:jar:2.9.4:compile - omitted for duplicate)
| | \- (com.fasterxml.jackson.core:jackson-databind:jar:2.9.4:compile - omitted for duplicate)
| \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.4:compile
| +- (com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile - omitted for conflict with 2.9.4)
| +- (com.fasterxml.jackson.core:jackson-core:jar:2.9.4:compile - omitted for duplicate)
| \- (com.fasterxml.jackson.core:jackson-databind:jar:2.9.4:compile - omitted for duplicate)
+- com.fasterxml.jackson.dataformat:jackson-dataformat-csv:jar:2.9.4:compile
| +- (com.fasterxml.jackson.core:jackson-databind:jar:2.9.4:compile - omitted for duplicate)
| +- (com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile - omitted for conflict with 2.9.4)
| \- (com.fasterxml.jackson.core:jackson-core:jar:2.9.4:compile - omitted for duplicate)
+- com.fasterxml.jackson.datatype:jackson-datatype-guava:jar:2.9.4:compile
| +- (com.google.guava:guava:jar:18.0:compile - omitted for conflict with 20.0)
| +- (com.fasterxml.jackson.core:jackson-core:jar:2.9.4:compile - omitted for duplicate)
| \- (com.fasterxml.jackson.core:jackson-databind:jar:2.9.4:compile - omitted for duplicate)
+- com.fasterxml.jackson.module:jackson-module-afterburner:jar:2.9.4:compile
| +- (com.fasterxml.jackson.core:jackson-core:jar:2.9.4:compile - omitted for duplicate)
| \- (com.fasterxml.jackson.core:jackson-databind:jar:2.9.4:compile - omitted for duplicate)
+- com.github.rjeschke:txtmark:jar:0.13:compile
+- org.projectlombok:lombok:jar:1.16.6:provided
+- org.mindrot:jbcrypt:jar:0.3m:compile
+- org.jsoup:jsoup:jar:1.8.3:compile
+- com.twitter:twitter-text:jar:1.13.4:compile
+- joda-time:joda-time:jar:2.9.6:compile
+- com.google.cloud:google-cloud-pubsub:jar:0.32.0-beta:compile
| +- io.netty:netty-tcnative-boringssl-static:jar:2.0.6.Final:compile
| +- com.google.cloud:google-cloud-core:jar:1.14.0:compile
| | +- (com.google.guava:guava:jar:20.0:compile - omitted for duplicate)
| | +- (joda-time:joda-time:jar:2.9.2:compile - omitted for conflict with 2.9.6)
| | +- (org.json:json:jar:20160810:compile - omitted for duplicate)
| | +- (com.google.http-client:google-http-client:jar:1.23.0:compile - omitted for conflict with 1.21.0)
| | +- (com.google.code.findbugs:jsr305:jar:3.0.0:compile - omitted for conflict with 1.3.9)
| | +- (com.google.api:api-common:jar:1.2.0:compile - omitted for duplicate)
| | +- com.google.api:gax:jar:1.15.0:compile
| | | +- com.google.auto.value:auto-value:jar:1.2:compile
| | | +- (com.google.code.findbugs:jsr305:jar:3.0.0:compile - omitted for conflict with 1.3.9)
| | | +- (com.google.guava:guava:jar:20.0:compile - omitted for duplicate)
| | | +- org.threeten:threetenbp:jar:1.3.3:compile
| | | +- (com.google.auth:google-auth-library-oauth2-http:jar:0.9.0:compile - omitted for conflict with 0.8.0)
| | | \- (com.google.api:api-common:jar:1.2.0:compile - omitted for duplicate)
| | +- com.google.protobuf:protobuf-java-util:jar:3.4.0:compile
| | | +- (com.google.protobuf:protobuf-java:jar:3.4.0:compile - omitted for duplicate)
| | | +- (com.google.guava:guava:jar:19.0:compile - omitted for conflict with 20.0)
| | | \- com.google.code.gson:gson:jar:2.7:compile
| | +- com.google.api.grpc:proto-google-common-protos:jar:1.0.2:compile
| | | \- (com.google.protobuf:protobuf-java:jar:3.4.0:compile - omitted for duplicate)
| | \- com.google.api.grpc:proto-google-iam-v1:jar:0.1.26:compile
| | +- (com.google.protobuf:protobuf-java:jar:3.3.0:compile - omitted for conflict with 3.4.0)
| | +- (com.google.api.grpc:proto-google-common-protos:jar:1.0.2:compile - omitted for duplicate)
| | \- (com.google.api:api-common:jar:1.1.0:compile - omitted for conflict with 1.2.0)
| +- com.google.cloud:google-cloud-core-grpc:jar:1.14.0:compile
| | +- (io.netty:netty-tcnative-boringssl-static:jar:2.0.6.Final:compile - omitted for duplicate)
| | +- com.google.auth:google-auth-library-credentials:jar:0.9.0:compile
| | +- (com.google.cloud:google-cloud-core:jar:1.14.0:compile - omitted for duplicate)
| | +- (com.google.guava:guava:jar:20.0:compile - omitted for duplicate)
| | +- com.google.protobuf:protobuf-java:jar:3.4.0:compile
| | +- (com.google.protobuf:protobuf-java-util:jar:3.4.0:compile - omitted for duplicate)
| | +- io.grpc:grpc-protobuf:jar:1.7.0:compile
| | | +- (io.grpc:grpc-core:jar:1.7.0:compile - omitted for duplicate)
| | | +- (com.google.protobuf:protobuf-java:jar:3.4.0:compile - omitted for duplicate)
| | | +- (com.google.guava:guava:jar:19.0:compile - omitted for conflict with 20.0)
| | | +- (com.google.protobuf:protobuf-java-util:jar:3.4.0:compile - omitted for duplicate)
| | | +- (com.google.api.grpc:proto-google-common-protos:jar:0.1.9:compile - omitted for conflict with 1.0.2)
| | | \- io.grpc:grpc-protobuf-lite:jar:1.7.0:compile
| | | +- (io.grpc:grpc-core:jar:1.7.0:compile - omitted for duplicate)
| | | \- (com.google.guava:guava:jar:19.0:compile - omitted for conflict with 20.0)
| | +- io.grpc:grpc-context:jar:1.7.0:compile
| | +- (io.grpc:grpc-netty:jar:1.7.0:compile - omitted for duplicate)
| | +- (io.grpc:grpc-stub:jar:1.7.0:compile - omitted for duplicate)
| | +- (io.grpc:grpc-auth:jar:1.7.0:compile - omitted for duplicate)
| | \- com.google.api:gax-grpc:jar:1.15.0:compile
| | +- (com.google.auto.value:auto-value:jar:1.2:compile - omitted for duplicate)
| | +- (com.google.code.findbugs:jsr305:jar:3.0.0:compile - omitted for conflict with 1.3.9)
| | +- (com.google.api:gax:jar:1.15.0:compile - omitted for duplicate)
| | +- (io.grpc:grpc-netty:jar:1.7.0:compile - omitted for duplicate)
| | +- (io.grpc:grpc-stub:jar:1.7.0:compile - omitted for duplicate)
| | +- (io.grpc:grpc-auth:jar:1.7.0:compile - omitted for duplicate)
| | +- (io.grpc:grpc-protobuf:jar:1.7.0:compile - omitted for duplicate)
| | +- (com.google.guava:guava:jar:20.0:compile - omitted for duplicate)
| | +- (org.threeten:threetenbp:jar:1.3.3:compile - omitted for duplicate)
| | +- (com.google.auth:google-auth-library-oauth2-http:jar:0.9.0:compile - omitted for duplicate)
| | +- (com.google.auth:google-auth-library-credentials:jar:0.9.0:compile - omitted for duplicate)
| | +- (com.google.api.grpc:proto-google-common-protos:jar:1.0.0:compile - omitted for conflict with 1.0.2)
| | \- (com.google.api:api-common:jar:1.2.0:compile - omitted for duplicate)
| +- com.google.api.grpc:proto-google-cloud-pubsub-v1:jar:0.1.26:compile
| | +- (com.google.api.grpc:proto-google-iam-v1:jar:0.1.26:compile - omitted for duplicate)
| | +- (com.google.api.grpc:proto-google-common-protos:jar:1.0.2:compile - omitted for duplicate)
| | +- (com.google.protobuf:protobuf-java:jar:3.4.0:compile - omitted for duplicate)
| | \- (com.google.api:api-common:jar:1.1.0:compile - omitted for conflict with 1.2.0)
| +- com.google.api.grpc:grpc-google-cloud-pubsub-v1:jar:0.1.26:compile
| | +- (io.grpc:grpc-stub:jar:1.7.0:compile - omitted for duplicate)
| | +- (io.grpc:grpc-protobuf:jar:1.7.0:compile - omitted for duplicate)
| | \- (com.google.api.grpc:proto-google-cloud-pubsub-v1:jar:0.1.26:compile - omitted for duplicate)
| +- io.grpc:grpc-netty:jar:1.7.0:compile
| | +- io.grpc:grpc-core:jar:1.7.0:compile
| | | +- (io.grpc:grpc-context:jar:1.7.0:compile - omitted for duplicate)
| | | +- (com.google.guava:guava:jar:19.0:compile - omitted for conflict with 20.0)
| | | +- com.google.errorprone:error_prone_annotations:jar:2.0.19:compile
| | | +- (com.google.code.findbugs:jsr305:jar:3.0.0:compile - omitted for conflict with 1.3.9)
| | | +- com.google.instrumentation:instrumentation-api:jar:0.4.3:compile
| | | | +- (com.google.code.findbugs:jsr305:jar:3.0.0:compile - omitted for conflict with 1.3.9)
| | | | \- (com.google.guava:guava:jar:19.0:compile - omitted for conflict with 20.0)
| | | \- io.opencensus:opencensus-api:jar:0.6.0:compile
| | | \- (com.google.guava:guava:jar:19.0:compile - omitted for conflict with 20.0)
| | +- io.netty:netty-codec-http2:jar:4.1.16.Final:compile
| | | +- (io.netty:netty-codec-http:jar:4.1.16.Final:compile - omitted for conflict with 4.1.14.Final)
| | | \- (io.netty:netty-handler:jar:4.1.16.Final:compile - omitted for conflict with 4.1.14.Final)
| | \- io.netty:netty-handler-proxy:jar:4.1.16.Final:compile
| | +- (io.netty:netty-transport:jar:4.1.16.Final:compile - omitted for conflict with 4.1.14.Final)
| | +- io.netty:netty-codec-socks:jar:4.1.16.Final:compile
| | | \- (io.netty:netty-codec:jar:4.1.16.Final:compile - omitted for duplicate)
| | \- (io.netty:netty-codec-http:jar:4.1.16.Final:compile - omitted for duplicate)
| +- io.grpc:grpc-stub:jar:1.7.0:compile
| | \- (io.grpc:grpc-core:jar:1.7.0:compile - omitted for duplicate)
| \- io.grpc:grpc-auth:jar:1.7.0:compile
| +- (io.grpc:grpc-core:jar:1.7.0:compile - omitted for duplicate)
| \- (com.google.auth:google-auth-library-credentials:jar:0.4.0:compile - omitted for conflict with 0.9.0)
+- com.google.firebase:firebase-admin:jar:5.6.0:compile
| +- com.google.api-client:google-api-client:jar:1.22.0:compile
| | +- com.google.oauth-client:google-oauth-client:jar:1.22.0:compile
| | | +- (com.google.http-client:google-http-client:jar:1.22.0:compile - omitted for conflict with 1.21.0)
| | | \- (com.google.code.findbugs:jsr305:jar:1.3.9:compile - omitted for duplicate)
| | \- (com.google.http-client:google-http-client-jackson2:jar:1.22.0:compile - omitted for conflict with 1.21.0)
| +- com.google.api-client:google-api-client-gson:jar:1.22.0:compile
| | +- (com.google.api-client:google-api-client:jar:1.22.0:compile - omitted for duplicate)
| | \- com.google.http-client:google-http-client-gson:jar:1.22.0:compile
| | +- (com.google.http-client:google-http-client:jar:1.22.0:compile - omitted for conflict with 1.21.0)
| | \- (com.google.code.gson:gson:jar:2.1:compile - omitted for conflict with 2.7)
| +- (com.google.http-client:google-http-client:jar:1.22.0:compile - omitted for conflict with 1.21.0)
| +- com.google.api:api-common:jar:1.2.0:compile
| | +- (com.google.code.findbugs:jsr305:jar:3.0.0:compile - omitted for conflict with 1.3.9)
| | \- (com.google.guava:guava:jar:19.0:compile - omitted for conflict with 20.0)
| +- com.google.auth:google-auth-library-oauth2-http:jar:0.8.0:compile
| | +- (com.google.auth:google-auth-library-credentials:jar:0.8.0:compile - omitted for conflict with 0.9.0)
| | +- (com.google.http-client:google-http-client:jar:1.19.0:compile - omitted for conflict with 1.21.0)
| | +- (com.google.http-client:google-http-client-jackson2:jar:1.19.0:compile - omitted for conflict with 1.22.0)
| | \- (com.google.guava:guava:jar:19.0:compile - omitted for conflict with 20.0)
| +- com.google.cloud:google-cloud-storage:jar:1.7.0:compile
| | +- (com.google.cloud:google-cloud-core:jar:1.7.0:compile - omitted for conflict with 1.14.0)
| | +- com.google.cloud:google-cloud-core-http:jar:1.7.0:compile
| | | +- (com.google.cloud:google-cloud-core:jar:1.7.0:compile - omitted for conflict with 1.14.0)
| | | +- (com.google.auth:google-auth-library-credentials:jar:0.8.0:compile - omitted for conflict with 0.9.0)
| | | +- (com.google.auth:google-auth-library-oauth2-http:jar:0.8.0:compile - omitted for duplicate)
| | | +- (com.google.http-client:google-http-client:jar:1.22.0:compile - omitted for conflict with 1.21.0)
| | | +- (com.google.oauth-client:google-oauth-client:jar:1.22.0:compile - omitted for duplicate)
| | | +- (com.google.guava:guava:jar:20.0:compile - omitted for duplicate)
| | | +- (com.google.api-client:google-api-client:jar:1.22.0:compile - omitted for duplicate)
| | | +- (com.google.http-client:google-http-client-appengine:jar:1.22.0:compile - omitted for conflict with 1.21.0)
| | | +- com.google.http-client:google-http-client-jackson:jar:1.22.0:compile
| | | | +- (com.google.http-client:google-http-client:jar:1.22.0:compile - omitted for conflict with 1.21.0)
| | | | \- org.codehaus.jackson:jackson-core-asl:jar:1.9.11:compile
| | | \- (com.google.http-client:google-http-client-jackson2:jar:1.22.0:compile - omitted for duplicate)
| | \- com.google.apis:google-api-services-storage:jar:v1-rev108-1.22.0:compile
| +- com.google.cloud:google-cloud-firestore:jar:0.25.0-beta:compile
| | +- (io.netty:netty-tcnative-boringssl-static:jar:2.0.3.Final:compile - omitted for conflict with 2.0.6.Final)
| | +- (com.google.cloud:google-cloud-core:jar:1.7.0:compile - omitted for conflict with 1.14.0)
| | +- (com.google.cloud:google-cloud-core-grpc:jar:1.7.0:compile - omitted for conflict with 1.14.0)
| | +- (com.google.api:gax-grpc:jar:0.25.1:compile - omitted for conflict with 1.15.0)
| | +- (com.google.api:api-common:jar:1.1.0:compile - omitted for conflict with 1.2.0)
| | +- (com.google.cloud:google-cloud-core-http:jar:1.7.0:compile - omitted for duplicate)
| | +- com.google.api.grpc:proto-google-cloud-firestore-v1beta1:jar:0.1.20:compile
| | | +- (com.google.api:api-common:jar:1.1.0:compile - omitted for conflict with 1.2.0)
| | | +- (com.google.protobuf:protobuf-java:jar:3.3.0:compile - omitted for conflict with 3.4.0)
| | | \- (com.google.api.grpc:proto-google-common-protos:jar:0.1.20:compile - omitted for conflict with 1.0.2)
| | +- (io.grpc:grpc-netty:jar:1.6.1:compile - omitted for conflict with 1.7.0)
| | +- (io.grpc:grpc-stub:jar:1.6.1:compile - omitted for conflict with 1.7.0)
| | \- (io.grpc:grpc-auth:jar:1.6.1:compile - omitted for conflict with 1.7.0)
| +- (com.google.guava:guava:jar:20.0:compile - omitted for duplicate)
| +- org.json:json:jar:20160810:compile
| +- (org.slf4j:slf4j-api:jar:1.7.25:compile - omitted for conflict with 1.6.4)
| +- io.netty:netty-codec-http:jar:4.1.14.Final:compile
| | \- io.netty:netty-codec:jar:4.1.14.Final:compile
| | \- (io.netty:netty-transport:jar:4.1.14.Final:compile - omitted for conflict with 4.1.16.Final)
| +- io.netty:netty-handler:jar:4.1.14.Final:compile
| | +- io.netty:netty-buffer:jar:4.1.14.Final:compile
| | | \- io.netty:netty-common:jar:4.1.14.Final:compile
| | +- (io.netty:netty-transport:jar:4.1.14.Final:compile - omitted for duplicate)
| | \- (io.netty:netty-codec:jar:4.1.14.Final:compile - omitted for duplicate)
| \- io.netty:netty-transport:jar:4.1.14.Final:compile
| +- (io.netty:netty-buffer:jar:4.1.14.Final:compile - omitted for duplicate)
| \- io.netty:netty-resolver:jar:4.1.14.Final:compile
| \- (io.netty:netty-common:jar:4.1.14.Final:compile - omitted for duplicate)
+- com.googlecode.libphonenumber:libphonenumber:jar:8.5.0:compile
+- com.atlassian.commonmark:commonmark:jar:0.10.0:compile
+- com.example.gaeobjectify:gaeobjectify-utils:jar:2.0.0-SNAPSHOT:compile
| +- (com.google.appengine:appengine-api-1.0-sdk:jar:1.9.49:compile - omitted for conflict with 1.9.59)
| +- (com.googlecode.objectify:objectify:jar:5.1.9:compile - omitted for duplicate)
| +- (org.apache.commons:commons-lang3:jar:3.4:compile - omitted for duplicate)
| +- (commons-io:commons-io:jar:2.4:compile - omitted for duplicate)
| +- (org.glassfish.jersey.core:jersey-server:jar:2.5.1:compile - omitted for conflict with 2.9)
| +- (com.google.guava:guava:jar:20.0:compile - omitted for duplicate)
| +- org.freemarker:freemarker-gae:jar:2.3.25-incubating:compile
| +- com.google.appengine:appengine-api-labs:jar:1.9.49:compile
| +- (com.fasterxml.jackson.core:jackson-databind:jar:2.6.1:compile - omitted for conflict with 2.9.4)
| +- (com.google.http-client:google-http-client-appengine:jar:1.21.0:compile - omitted for duplicate)
| +- com.google.http-client:google-http-client-jackson2:jar:1.21.0:compile
| | +- (com.google.http-client:google-http-client:jar:1.21.0:compile - omitted for duplicate)
| | \- (com.fasterxml.jackson.core:jackson-core:jar:2.1.3:compile - omitted for conflict with 2.9.4)
| +- org.joda:joda-money:jar:0.10.0:compile
| +- com.google.code.findbugs:jsr305:jar:3.0.1:compile
| +- (commons-validator:commons-validator:jar:1.5.0:compile - omitted for duplicate)
| +- (org.apache.shiro:shiro-core:jar:1.2.4:compile - omitted for duplicate)
| +- (org.mindrot:jbcrypt:jar:0.3m:compile - omitted for duplicate)
| \- (org.jsoup:jsoup:jar:1.8.3:compile - omitted for duplicate)
+- junit:junit:jar:4.12:test
| \- org.hamcrest:hamcrest-core:jar:1.3:test
+- com.google.appengine:appengine-testing:jar:1.9.59:test
\- com.google.appengine:appengine-api-stubs:jar:1.9.59:test