有时我会在其他人的代码中看到这一点。但是当我尝试时,它会返回null。
baseUrl = org.company.UploadService.class.getResource(".");
url = new URL(baseUrl, "http://192.168.164.32:9080/mka-web/services/UploadService?wsdl");
答案 0 :(得分:2)
行UploadService.class.getResource(".")
返回网址匹配类UploadServiece
的包,例如
file://your-path/org/company
要么
jar:file://yourjar-path/org/company
如果你从jar运行。
您正在使用的URL
构造函数返回给定上下文中的url。例如
new URL(new URL("http://google.com"), "yahoo.com")
返回http://google.com/yahoo.com
,
但
new URL(new URL("http://google.com"), "http://yahoo.com")
返回http://yahoo.com
,因为第二个网址是绝对的。
所以,我的情况下代码没有任何意义:它绝对是等同的
new URL("http://192.168.164.32:9080/mka-web/services/UploadService?wsdl")
答案 1 :(得分:2)
getResource(".")
将返回指向类文件所在目录的URL。
This thread将行为描述为:
如果从目录加载类,则指向用于加载类的类路径中的目录的URL,或者从jar加载时为null。
最后一部分可能是你获得null
的原因。另一个原因可能是:
它不适用于所有JVM