有个jar包a.jar,里面有a.class ,A.class又使用了a.jar里的a.properties文件
当我在我的主程序里用自定义的classloader加载a.jar调用A.class的时候 这个a.properties文件找不到了 - -
请问大家告诉下怎么解决
当我在我的主程序里用自定义的classloader加载a.jar调用A.class的时候 这个a.properties文件找不到了 - -
请问大家告诉下怎么解决
String str = property.getProperty("user.dir");
运行这个,打印出它的路径,然后适当加上a.properties的路径,这样应该没问题了
在jar包中的文件可以用这种方式加载比方我的rmi使用jar包启动需要使用java.policy文件
路径为
jar:file:/F:\workspace\MSGRmiServer\MSGRmiServer.jar!/java.policy
2. 再把编译好的class文件把成可执行jar包(可以使用Eclipse来打包,方便),同时把data.txt文件也放在jar包中,再执行打包后的jar文件,同样可以把jar包中的data.txt的内容输出。Test.java的内容如下:import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;public class Test {
public static void main(String[] args) throws Exception {
InputStream is = Test.class.getClassLoader().getResourceAsStream("data.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
}
}