Le pb que je rencontre est quand j'essaye de caster mon URLConnection en JarURLConnection.
Voici le type d'objet que je récupère quand je fais
URLConnection con = url.openConnection();
type :
com.ibm.ws.classloader.Handler$ClassLoaderURLConnection
Voici la valeur de l'objet :
wsjar:file:/C:/IBM/WebSphere/AppServer/profiles/C2100.1/installedApps/C302414NNode01Cell/test-generique-services-app.ear/test-generique-services-web.war/WEB-INF/lib/nci-servicescristal.jar!/cnaf/cristal/services/
Comment puis je faire sachant que cet objet n'est pas du type JarURLConnection ?
Voici le code que j'avais au préalable avec l'objet JarURLConnection :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| JarURLConnection conn = (JarURLConnection)url.openConnection();
String starts = conn.getEntryName();
JarFile jfile = conn.getJarFile();
Enumeration e = jfile.entries();
while (e.hasMoreElements()) {
// Parcourt les differents elements du jar
ZipEntry entry = (ZipEntry)e.nextElement();
String entryname = entry.getName();
if (entryname.startsWith(starts)&&(entryname.lastIndexOf('/')<=starts.length()) &&entryname.endsWith(".class")) {
// Ne prends que les fichiers class appartenant au package dans le JAR
// Ne recupere que le nom de la classe sans le package
String classname = entryname.substring(0,entryname.length()-6);
if (classname.startsWith("/"))
{
classname = classname.substring(1);
}
classname = classname.substring(starts.length()+1);
listService.add(classname);
}
} |
Partager