我在Web服务客户端项目中使用wsimport来生成基于wsdl文件的工件类.我试图通过使用wsdlLocation属性在本地引用wsdl文件.生成的服务将尝试基于服务类所在的包的路径以及wsdlLocation属性的值来创建URL.
问题是生成的服务类正在使用class.getResource(“.”)以获取当前目录(服务类所在的包/目录)的路径.如果应用程序打包在jar中(如我的情况),则此代码返回null.我注意到class.getResource(“”)实际上会返回正确的路径,但更改生成的代码似乎是一个丑陋的解决方案.我想知道是否有某种方法来设置类路径,以便前面的代码将返回生成的服务类所在的包/目录的路径(按预期)?
谢谢
最佳答案 您无法获取jar文件中目录的URL的原因是您在创建jar文件时忘记启用“添加目录条目”选项.
如果您使用eclipse创建jar文件,只需启用“添加目录条目”选项.
如果你使用jdk jar命令我认为默认情况下启用该选项.
不要使用常规的zip创建者,如WinZip,7zip或WinRar,因为我不相信有这个选项.