getResource(“getResource”)在Tomcat服务器中返回null,但在独立Java程序上工作正常

getResource(“getResource”)在Tomcat服务器中返回null,但在独立Java程序上工作正常,java,web-services,tomcat,Java,Web Services,Tomcat,我正在尝试在我的应用程序中获取SharePoint web服务类的java.net.URL。 当我运行独立java程序使用JavaWeb服务连接到SharePoint时,效果很好。 这是我的一个Web服务生成的Java类(从单机版可以正常工作): 输出是 baseUrl::file:/C:/folder1/folder2/target/classes/com/microsoft/sharepoint/webservices/ 对于从Tomcat服务器调用的相同代码,输出为: baseUrl:

我正在尝试在我的应用程序中获取SharePoint web服务类的java.net.URL。 当我运行独立java程序使用JavaWeb服务连接到SharePoint时,效果很好。 这是我的一个Web服务生成的Java类(从单机版可以正常工作):

输出是

 baseUrl::file:/C:/folder1/folder2/target/classes/com/microsoft/sharepoint/webservices/
对于从Tomcat服务器调用的相同代码,输出为:

baseUrl::null
我试着用谷歌搜索,在相对路径上,比如:

MyTestClass.class.getResource("/com/microsoft/sharepoint/webservices");
独立prg工作正常,但在服务器上,协议是“bundle”,因为协议是独立的“file”,所以我不确定有什么区别以及它是如何影响的。
非常感谢您的帮助。

开箱即用,问题在于类加载器,而不是选择类,此URL对问题和修复有更深入的了解:


没有理由认为这应该奏效。资源不是文件。它很可能位于JAR文件中,而不是文件系统中。您是否尝试过
com.microsoft.sharepoint.webservices.Lists.class.getClassloader().getResource(“.”)
?是的,尝试过com.microsoft.sharepoint.webservices.Lists.class.getClassloader().getResource(“‌​.") 没有用,在tomcat上运行时仍然返回null:(
MyTestClass.class.getResource("/com/microsoft/sharepoint/webservices");