我正在尝试从包中读取 * .class资源。我正在使用以下代码来实现这一点......
URL path = SomeClass.class.getResource("/source/someClass.class");
当我运行这段代码时,我最终得到path = null;
. 但是,如果我使用相同的代码并尝试访问其他资源,例如 * .gif和 * .txt文件,则它是成功的。我无法访问 * .class文件有什么原因吗?
我正在尝试从包中读取 * .class资源。我正在使用以下代码来实现这一点......
URL path = SomeClass.class.getResource("/source/someClass.class");
当我运行这段代码时,我最终得到path = null;
. 但是,如果我使用相同的代码并尝试访问其他资源,例如 * .gif和 * .txt文件,则它是成功的。我无法访问 * .class文件有什么原因吗?
重新阅读javadoc。我认为它描述了您可以使用 getResource() 的两种方式:
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Class.html#getResource(java.lang.String )
尝试以下操作:
URL path = Class.getResource( "modified/package/SomeClass" )
您可能想使用:
InputStream stream = Class.getResourceAsStream("modified/package/SomeClass")
因为您只是试图将类文件复制到 Jar 文件中。
可能是资源路径不正确。因为类目录对项目来说是特殊的。
您可以尝试以下方法:
URL path = SomeClass.class.getResource("PackagePath/someClass.class");
PackagePath 像“/com/xxx/projectTest”。