Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.0.0
-
None
Description
storm-core's pom.xml file has dependencies on a variety of widely used open source libraries such as commons-io, commons-collections, guava, etc.
Any user-defined topologies that depend on the storm-core JAR then assume to have those libraries available during runtime through transitive dependencies.
However, the Shade JAR built by storm-core renames all of the package names of those libraries to move them under org.apache.storm.*.
This causes runtime NoClassDefFoundError's from for topologies that were previously succeeding (e.g., org.apache.commons.io.FileUtils).
Recommend providing those libraries since the Maven dependencies declare that they are including them. If the goal is to provide classpath isolation for Storm vs. topologies, the original dependencies should still be provided.