【发布时间】:2012-01-13 23:48:27
【问题描述】:
我在 Web 服务客户端项目中使用 wsimport 来生成基于 wsdl 文件的工件类。我正在尝试通过使用 wsdlLocation 属性在本地引用 wsdl 文件。生成的服务将尝试根据服务类所在包的路径和 wsdlLocation 属性的值创建一个 URL。
问题是生成的服务类使用class.getResource(".") 来获取当前目录的路径(服务类所在的包/目录)。如果应用程序打包在 jar 中(如我的情况),则此代码返回 null。我注意到 class.getResource("") 实际上会返回正确的路径,但是更改生成的代码似乎是一个丑陋的解决方案。我想知道是否有某种方法可以设置类路径,以便前面的代码将路径返回到生成的服务类所在的包/目录(如预期的那样)?
谢谢
【问题讨论】:
-
类不驻留在目录中。它位于一个包中。包可以通过目录或 jar 文件的条目“物化”。无论该类是否在 jar 中,您的代码都应该可以工作。如果你想要一个类的包名,只需使用 Service.class.getPackage().getName()
-
抱歉 - 我已经更正了帖子。前面说了,指定的代码是wsimport生成的,不想改。还是谢谢。
标签: java web-services class getresource