Java 无法读取资源

Java 无法读取资源,java,resources,getresource,Java,Resources,Getresource,我正在尝试从包中读取*.class资源。我使用下面的代码来实现这个 URL path = SomeClass.class.getResource("/source/someClass.class"); 当我运行这段代码时,结果是path=null。但是,如果我使用相同的代码并尝试访问其他资源,如*.gif和*.txt文件,则会成功。是否有无法访问*.class文件的原因?重新阅读javadoc。我认为它描述了使用getResource()的两种方式: ) 请尝试以下操作: URL path =

我正在尝试从包中读取*.class资源。我使用下面的代码来实现这个

URL path = SomeClass.class.getResource("/source/someClass.class");

当我运行这段代码时,结果是
path=null。但是,如果我使用相同的代码并尝试访问其他资源,如*.gif和*.txt文件,则会成功。是否有无法访问*.class文件的原因?

重新阅读javadoc。我认为它描述了使用getResource()的两种方式:

)

请尝试以下操作:

URL path = Class.getResource( "modified/package/SomeClass" )
URL path = SomeClass.class.getResource("PackagePath/someClass.class");
您可能需要使用:

InputStream stream = Class.getResourceAsStream("modified/package/SomeClass")

因为您只是试图将类文件复制到Jar文件中。

可能是因为资源路径不正确。因为类目录对于项目是特殊的

您可以尝试以下操作:

URL path = Class.getResource( "modified/package/SomeClass" )
URL path = SomeClass.class.getResource("PackagePath/someClass.class");

jar中类似“/com/xxx/projectTest”的包路径

url区分大小写。请确保文件名不是SomeClass.java。我尝试了下一步:URL=Class.getResource(“.package.SomeClass”)-不起作用。您做错了。这就是它不起作用的原因。使用Class.getResource(“包/SomeClass”)。javadoc声明必须将完全限定类名中的“.”替换为“/”。