【问题标题】:how to load a resource using Class.getResource()?如何使用 Class.getResource() 加载资源?
【发布时间】:2017-07-04 07:21:42
【问题描述】:

我发布这个问题是因为我无法理解我必须做什么才能从我的 java 项目中加载资源文件。

结构如下:

而我想要做的是加载boletinoficial.wsdl 文件以获取 URL。

我尝试了几种方法来做到这一点:getClass.getClassLoader.getResource()getClass.getResource(),使用绝对路径,使用相对路径。但总是得到空值或异常。我还在构建路径中添加了src 文件夹,但没有成功。

有没有简单的方法来加载该文件?

编辑

好的。现在我有了结构,

如何从 App.java 类中加载资源 boletinoficial.wsdl

【问题讨论】:

  • 如何加载资源?这通常按预期工作:MyCoolClass.class.getResource("/resource.text")(期望路径上的资源 - 例如在src/main/resources 内)。您确定您使用的是正确的路径定义吗?
  • 非常感谢!!成功了!!

标签: java maven getresource


【解决方案1】:

如果你想加载一个资源,你应该把它们放在src/main/resources,因为它们会在src/main/java中被忽略

【讨论】:

  • 我已经用你建议的修改编辑了我的问题。你知道如何加载 boletinoficial.wsdl 吗?
  • 如果重点是让你的 wsdl 用于生成 java 类,你应该看看这里:stackoverflow.com/questions/18338196/… 否则,你应该告诉我你的 wsdl 有什么用处
  • 我已经通过 wsimport 从我拥有的 wsdl 文件中创建了类。重点是服务类指向我电脑中wsdl文件的绝对路径,我觉得这样不好。所以我想将 wsdl 文件存储在项目中,并且在实例化服务时,尝试找到一种方法来告诉服务类获取项目中的 wsdl 文件,而不是另一个。不确定我是否解释得很好。
  • 我不确定你的意思,因为一旦你的对象被生成,你就有了类来调用你的服务,所以你不再需要使用你的 wsdl
  • 已经按照其他贡献者说的方式解决了。非常感谢你的知识:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-26
  • 1970-01-01
  • 2021-07-25
  • 1970-01-01
  • 2011-02-12
  • 2020-08-13
相关资源
最近更新 更多