Github user revans2 commented on the pull request:
https://github.com/apache/incubator-storm/pull/219#issuecomment-53901704
OK So when you package a jar for storm we use the assembly plugin to pull
in all dependencies that the jar has, except for the dependencies that are
marked as provided, aka storm and its transitive dependencies. When we shade
one of our dependencies like guava we are no longer packaging guava with storm,
but maven still thinks that we are because our pom.xml still say that we have a
dependency on it. As such anyone who actually wants to use guava might compile
just fine, but end up with a class not found error when they try to run,
because maven was not smart enough to package guava with their jar, because it
still thinks storm is packaging it.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---