Closed
Description
TypeRegistry.java
if (GlobalConfiguration.jarsToWatch != null) {
// 1.3 feature, can watch jars!
String urlstring = url.toString();
// example path: jar:file:/var/folders/cn/p3n4rh_n6z7gm6zwk53mtfc80000gp/T/_sl308369570226517394/foo.jar!/Foo.class
int bangSlash = urlstring.lastIndexOf("!/");
if (bangSlash != -1) {
String pathInJar = urlstring.substring(bangSlash + 2);
String remainingPrefix = urlstring.substring(0, bangSlash);
int lastSlash = remainingPrefix.lastIndexOf(File.separator);
String jarname = remainingPrefix.substring(lastSlash + 1);
for (String jarToWatch : GlobalConfiguration.jarsToWatch) {
if (jarname.equals(jarToWatch)) {
reloadable = true;
jarEntry = true;
}
}
}
}
Jar路径
jar:file:/var/folders/cn/p3n4rh_n6z7gm6zwk53mtfc80000gp/T/_sl308369570226517394/foo.jar!/Foo.class
int lastSlash = remainingPrefix.lastIndexOf(File.separator);
在windows中File.separator为"**". 配置的jarname为full path**. 导致jarname.equals(jarToWatch)永远为false.
Activity
ksfzhaohui commentedon Sep 15, 2015
我也遇到这个问题,你linux上可以用吗