在ofbiz 的类:org.ofbiz.base.start.Classpath 的 toString()方法中,发现对一个类路径字符串拼接的错误 (至写本文时未解决)
public String toString() {
StringBuffer cp = new StringBuffer(1024);
int cnt = _elements.size();
if (cnt >= 1) {
cp.append(((File) (_elements.get(0))).getPath());
appendPath(cp, ((File) (_elements.get(0))).getPath());
}
for (int i = 1; i < cnt; i++) {
cp.append(File.pathSeparatorChar);
appendPath(cp, ((File) (_elements.get(0))).getPath());
}
return cp.toString();
}
在方法中的for循环中应该使用循环计数变量,不应还是0,这个错误造成结果是所得的Classpath 是"_elements.size()"个同样的路径.
在 OFBiz 的 Classpath 类中发现了一个 toString 方法的实现错误:该方法在 for 循环中始终使用了 _elements 的第一个元素,导致最终生成的类路径字符串包含了多个相同的路径。

5484

被折叠的 条评论
为什么被折叠?



