[
https://issues.apache.org/jira/browse/FLINK-8193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16278398#comment-16278398
]
ASF GitHub Bot commented on FLINK-8193:
---------------------------------------
Github user StephanEwen commented on the issue:
https://github.com/apache/flink/pull/5118
I am unsure here. The warning is nice, but without some exclusions from the
shading phase, we will have many users wich build gigantic jars (happens to me
as well sometimes). Duplicating dependencies into the user jar is more
dangerous now that it used to be, given that we have the inverted classloading
on as a default. We saw that with Avro, and probably have similar issues with
Kryo and custom serializers as well, if they end up both in app classpath and
in the user jar.
I know its harder to maintain, but in this case I think that immediate user
experience trumps maintenance effort, so I would vote to add the exclusions
back. The exclusions set should be much smaller now that we don't have Hadoop
as a dependency here anymore. Having at least the flink projects (and
flink-shaded projects) as exclusions, as well as scala / akka / kryo should
really help.
We can use wildcard exclusions to make it more future safe, like replacing
scala version with `*` (`<exclude>org.apache.flink:flink-runtime*</exclude>`)
and excluding all artifacts for a group, like
`<exclude>org.scala-lang:*</exclude>` and `<exclude>akka:*</exclude>`.
> Rework quickstart exclusions
> ----------------------------
>
> Key: FLINK-8193
> URL: https://issues.apache.org/jira/browse/FLINK-8193
> Project: Flink
> Issue Type: Improvement
> Components: Build System, Quickstarts
> Affects Versions: 1.4.0
> Reporter: Chesnay Schepler
> Assignee: Chesnay Schepler
>
> The quickstart poms currently contain 2 entirely separate dependency
> exclusion mechanisms:
> A) manual exclusions of dependencies (including transitive dependencies) via
> the {{artifactSet}} of the {{maven-shade-plugin}}
> B) automatic inclusion by marking dependencies as {{<provided>}} with the
> {{build-jar}} profile
> I propose removing A) entirely. By default, all dependencies will be included
> in the jar to allow execution in the IDE (which setting all dependencies to
> provided would not). To execute things on a cluster we now always refer to
> Option B), which is trivial to maintain and also reliable.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)