Following up to add more info, I am building my app with maven based on the sample Flink pom.xml
My shade plugin config is: <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.0.0</version> <executions> <!-- Run shade goal on package phase --> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <artifactSet> <excludes> <exclude>org.apache.flink:force-shading</exclude> <exclude>com.google.code.findbugs:jsr305</exclude> <exclude>org.slf4j:*</exclude> <exclude>log4j:*</exclude> </excludes> </artifactSet> <filters> <filter> <!-- Do not copy the signatures in the META-INF folder. Otherwise, this might cause SecurityExceptions when using the JAR. --> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>${main.class}</mainClass> </transformer> </transformers> </configuration> </execution> </executions> Thanks again and let me know if there is more information I can provide. Austin On Tue, Feb 26, 2019 at 10:59 PM Austin Cawley-Edwards < austin.caw...@gmail.com> wrote: > Hi, > > I recently experienced versioning clashes with the okio and okhttp when > trying to deploy a Flink 1.6.0 app to AWS EMR on Hadoop 2.8.4. After > investigating and talking to the okio team (see this issue) > <https://github.com/square/okio/issues/559>, I found that both okio and > okhttp exist in the Flink uber jar with versions 1.4.0 and 2.4.0, > respectively, whereas I'm including versions 2.2.2 and 3.13.1 in my shaded > jar. The okio team suggested that Flink should shade the uber jar to fix > the issue, but I'm wondering if there is something I can do on my end to > have all versions exist simultaneously. > > From the issue, here are the okio contents of the uber jar: > > *jar -tf flink-shaded-hadoop2-uber-1.6.0.jar | grep okio* > > META-INF/maven/com.squareup.okio/ > META-INF/maven/com.squareup.okio/okio/ > META-INF/maven/com.squareup.okio/okio/pom.properties > META-INF/maven/com.squareup.okio/okio/pom.xml > okio/ > okio/AsyncTimeout$1.class > okio/AsyncTimeout$2.class > okio/AsyncTimeout$Watchdog.class > okio/AsyncTimeout.class > okio/Base64.class > okio/Buffer$1.class > okio/Buffer$2.class > okio/Buffer.class > okio/BufferedSink.class > okio/BufferedSource.class > okio/ByteString.class > okio/DeflaterSink.class > okio/ForwardingSink.class > okio/ForwardingSource.class > okio/ForwardingTimeout.class > okio/GzipSink.class > okio/GzipSource.class > okio/InflaterSource.class > okio/Okio$1.class > okio/Okio$2.class > okio/Okio$3.class > okio/Okio.class > okio/RealBufferedSink$1.class > okio/RealBufferedSink.class > okio/RealBufferedSource$1.class > okio/RealBufferedSource.class > okio/Segment.class > okio/SegmentPool.class > okio/SegmentedByteString.class > okio/Sink.class > okio/Source.class > okio/Timeout$1.class > okio/Timeout.class > okio/Util.class > > Thank you, > Austin Cawley-Edwards >