在我的应用程序中,我必须读取磁盘位置中可用的jar文件,并从jar中分离.classes文件。
代码是
JarFile jarFile = new JarFile("./resources/CD.jar");
for(Enumeration<JarEntry> em = jarFile.entries(); em.hasMoreElements();) {
String s= em.nextElement().toString();
ZipEntry entry = jarFile.getEntry(s);
String fileName = s.substring(s.lastIndexOf("/")+1, s.length());
if(fileName.endsWith(".class")){
System.out.println(fileName);
}
但我收到错误
java.io.FileNotFoundException: .\resources\CD.jar (The system cannot find the path specified).
答案 0 :(得分:0)
您是否尝试在类路径中添加CD.jar文件?我会尝试这样做一次。
答案 1 :(得分:0)
将".\resources\CD.jar"
更改为完全限定的URI。例如:C:\Users\Whoever\Documents\resources\CD.jar
答案 2 :(得分:0)
在这里,我找到了解决问题的方法。 1.将“资源”位置添加到类路径中 2.允许外部服务API将cd.jar放在资源位置 3.使用子类加载器将cd.jar添加到类路径中 代码段如下:
URLClassLoader childLoader = new URLClassLoader(new URL [] {getURLOfTestclass()},this.getClass()。getClassLoader());
URL url = getClass()。getClassLoader()。getResource(&#34; CD.jar&#34;); return url;