if (filename.toLowerCase().startsWith("meta-inf")) { world.showMessage(IMessage.WARNING, "manifest not copied: '" + filename + "' in JAR '" + inFile + "'", null, null); } else { addResource(filename,classFile); }
addResource(filename,classFile);
	public void addJarFile(File inFile, File outDir) throws IOException {//		System.err.println("? addJarFile(" + inFile + ", " + outDir + ")");		needToReweaveWorld = true;		ZipInputStream inStream = new ZipInputStream(new FileInputStream(inFile)); //??? buffered				while (true) {			ZipEntry entry = inStream.getNextEntry();			if (entry == null) break;						byte[] bytes = FileUtil.readAsByteArray(inStream);			String filename = entry.getName();			UnwovenClassFile classFile = new UnwovenClassFile(new File(outDir, filename).getAbsolutePath(), bytes);			if (filename.endsWith(".class")) {				this.addClassFile(classFile);			}			else if (!entry.isDirectory()) {//				System.err.println("? addJarFile() filename='" + filename + "'");								/* Don't copy JAR manifests */				if (filename.toLowerCase().startsWith("meta-inf")) {					world.showMessage(IMessage.WARNING, "manifest not copied: '" + filename + 									"' in JAR '" + inFile + "'", null, null);				}				else {					addResource(filename,classFile);				}			}			inStream.closeEntry();		}				inStream.close();	}