Java class.getResource(";/*dot*/)有什么特殊意义吗?
有时我在别人的代码中看到这一点。但当我尝试时,它返回nullJava class.getResource(";/*dot*/)有什么特殊意义吗?,java,classloader,Java,Classloader,有时我在别人的代码中看到这一点。但当我尝试时,它返回null baseUrl = org.company.UploadService.class.getResource("."); url = new URL(baseUrl, "http://192.168.164.32:9080/mka-web/services/UploadService?wsdl"); 行UploadService.class.getResource(“.”返回与类UploadService的包相匹配的URL,例如 fi
baseUrl = org.company.UploadService.class.getResource(".");
url = new URL(baseUrl, "http://192.168.164.32:9080/mka-web/services/UploadService?wsdl");
行
UploadService.class.getResource(“.”
返回与类UploadService
的包相匹配的URL,例如
file://your-path/org/company
如果您是从文件系统运行
或
jar:file://yourjar-path/org/company
如果您是从jar运行的
您正在使用的URL
的构造函数返回给定上下文中的URL。比如说
新URL(新URL(“http://google.com“,”yahoo.com“
返回http://google.com/yahoo.com
,
但是
新URL(新URL(“http://google.com"), "http://yahoo.com“”
返回http://yahoo.com
因为第二个URL是绝对的
因此,在你的情况下,代码没有任何意义:它与
新URL(“http://192.168.164.32:9080/mka-web/services/UploadService?wsdl“
getResource(“.”)在某些情况下,将返回指向类文件所在目录的URL
将行为描述为:
如果类是从目录加载的,则指向类路径中用于加载该类的目录的URL;如果从jar加载,则指向null
最后一部分可能是您获得null
的原因。另一个原因可能是:
它不适用于所有JVM