Hi, I found this about storm worker class path:
protected String getWorkerClassPath(String stormJar, Map stormConf) {
List<String> topoClasspath = new ArrayList<>();
Object object = stormConf.get(Config.TOPOLOGY_CLASSPATH);
if (object instanceof List) {
topoClasspath.addAll((List<String>) object);
} else if (object instanceof String) {
topoClasspath.add((String) object);
}
LOG.debug("topology specific classpath is {}", object);
String classPath = Utils.workerClasspath();
String classAddPath = Utils.addToClasspath(classPath,
Arrays.asList(stormJar));
return Utils.addToClasspath(classAddPath, topoClasspath);
}
According to this:
String classAddPath = Utils.addToClasspath(classPath,
Arrays.asList(stormJar));
user’s code will be load behind storm/lib, and storm/extlib.
Is it right?
and if I want another version of jar(for example, guava.jar), how can I do that?
Thanks,
lujinhong