2010-09-22 139 views
0

我在Netbeans有一个Java项目。它与Maven运行良好。所以我组装了它。它包含下面的代码加载一个文件,该文件是在JAR:在JAR文件中加载资源

ClassLoader loader = MyClass.class.getClassLoader(); 
SERVICE_URL = loader.getResource("my.wsdl"); 

这将返回一个网址,如:

jar:file:/path/to/my/file/MyClass-1.0-SNAPSHOT-jar-with-dependencies.jar!/my.wsdl 

,但需要这个参数似乎并不能够图书馆用它。

有没有什么办法可以将这个文件放在JAR中并从代码中引用?

+0

当你说“运行”你的意思是Java项目编译或编译的应用程序执行?它执行的是 – 2010-09-22 16:04:02

+0

- 我认为没有例外是由于一个蹩脚的库需要上述文件,而不是专门针对maven的问题。 – timmy 2010-09-22 16:09:54

回答

2

您可能需要使用ClassLoader.getResourceAsStream(),将它复制到一个临时文件,然后创建File.toURI()的URL。toURL()获取

+0

非常感谢,这工作。 – timmy 2010-09-23 09:50:15