1
我的應用程序由某個進程啓動(control-m)。它是從我可以修改的bash腳本開始的(該腳本是由其他進程調用的)。爲什麼不在類路徑中加載類?
該應用程序正在使用錯誤的版本春天的運行。事情是 - 我知道哪個jar被加載,但它不在classpath上!類路徑在bash腳本中提供。我也通過執行來驗證它:
ClassLoader cl = ClassLoader.getSystemClassLoader();
java.net.URL[] urls = ((URLClassLoader)cl).getURLs();
for(java.net.URL url: urls){
System.out.println(url.getFile());
}
但仍然有一些瓶子是不應該被l l的。我在命令行中有-verbose:class。我怎樣才能找出爲什麼我需要的分類是從無效罐裝入的?爲什麼這些球員甚至被加載?如何調試類加載過程?
當我從我的用戶運行該腳本(而不是其他進程)的帳號,一切都很好。
環境中是否存在某些東西,例如CLASSPATH環境變量? – danpaq 2013-02-27 20:56:34
不是。它沒有設置。 – mabn 2013-02-27 21:01:33
還請確保您使用的是相同的JVM。 – danpaq 2013-02-27 21:02:22