一个类,其所属工程是会打包为一个jar包发行运行的,该类需要读取其所属包目录下的一个配置文件(也会一起打包到jar中)。该类不知道该jar包的最终名称和路径,也应该不需要知道。我记得Struts2似乎就有类似代码,但现在已经找不到了……

解决方案 »

  1.   

    getClassLoader().getResource("org/gjt/sp/jedit/icons/themes/tango/about.png");
    getClassLoader().getResourceAsStream("org/gjt/sp/jedit/actions.xml");jedit.jar中的文件。jedit.jar在classpath中
      

  2.   


    getClassLoader()不是在任何类中都能调用的,不过我想办法找到了默认的ClassLoader,再采用这种方式,没有解决问题。由于我要读取的是properties文件,所以最终使用ResourceBundle解决了该问题
      

  3.   

    Thread.currentThread().getContextClassLoader().getResourceAsStream("com/test/abc.properties");