I read kylin code find that JobService class and ProjectService class import "org.apache.directory.api.util.Strings" use the function of "Strings.isEmpty(String)" from "api-util.jar" to judge whether a string is empty.
This function can be replaced by importing "org.apache.commons.lang.StringUtils" use "StringUtils.isEmpty(String)" from “common-lang.jar”.
The "api-util.jar" was dependent by hbase-client. When kylin build&package, there isn't "api-util.jar" in kylin.war. When start kylin process, it will be imported from hbase client lib. But if hbase client doesn't dependency "api-util.jar", kylin running failed and will throw exception.
In fact, I encountered this problem in the latest Fusion-Insignt version. Kylin start failed because there isn't "api-util.jar" in hbase client lib.
So I suggest replace "org.apache.directory.api.util.Strings.isEmpty(String)" to "org.apache.commons.lang.StringUtils.isEmpty(String)" to avoid this problem.