如何将wsdl文件正确添加到java项目资源中并获取路径

How to add wsdl file to java project resources correctly and get it path

我有 wsdl 文件,我需要将此文件添加到我的 java 项目资源中。我已经通过 wsimport 从 wsdl 生成了代码。 我有的 - 1) 添加文件到资源包 2) 在 wsipmort 的 class 中,我将 url 从

更改为 属性
URL url = null;
url = new URL("http://someUrl/someWsdlFile?wsdl");

File file = new File("resources/someWsdlFile.wsdl");
String absolutePath = file.getAbsolutePath();
        try {
        url = new URL(absolutePath);
    } catch (MalformedURLException ex) {
        e = new WebServiceException(ex);
    }

当我 运行 我的代码出现异常时 -

javax.xml.ws.WebServiceException: java.net.MalformedURLException: unknown protocol: d

当我有 url 这样的时候

url = new URL("file:C:/Users/someWsdlFile.wsdl");

我的代码无一例外地工作正常

unknown protocol: d

所以我做错了什么?

要从用于加载 类 的搜索路径中查找资源,请使用以下方法。

ClassLoader.getSystemResource("someWsdlFile.wsdl");

如果加载类路径中可用的资源,则使用以下方法。

 yourClass.class.getResource("someWsdlFile.wsdl");

谢谢 Boris 和 ravthiru 现在的工作。 我这样做

String absolutePath = null;
        try {
            absolutePath = String.valueOf(ClassLoader.getSystemResource("someWsdlFile.wsdl").toURI());
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }
        URL url = null;
        WebServiceException e = null;
        try {
            url = new URL(absolutePath);
        } catch (MalformedURLException ex) {
            e = new WebServiceException(ex);
        }