Bonjour,
j'essai de faire une methode qui exécute une classe située dans un jar. le .class est directement dans le jar ( pas de sous dossier).
avec le code ci dessous ai-je besoin de mofié le classpath ?
filename : "/path/monjar.jar"
classname : "myclass"
le message d'erreur corespondant est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public static void exec(String filename,String classname) throws IOException { try { URL tmpURL; Object[] objects = new Object[1]; URLClassLoader[] loaders = new URLClassLoader[1]; System.out.println("Loading 1 different classes "+"named: "+filename); tmpURL = new File(filename).toURL(); System.out.println("\nLoading from: "+tmpURL); loaders[0] = new URLClassLoader(new URL[] { tmpURL }); objects[0] = loaders[0].loadClass(classname).newInstance(); } catch (Exception e) { e.printStackTrace(); } }
je pense que l'erreur doit etre toute bete mais je vois pas ce que c'est :/Loading 1 different classes named: /PATH/TEMP.jar
Loading from: file:/PATH/TEMP.jar
java.lang.IllegalAccessException: Class util.ClassStarter2 can not access a member of class MainJarClass with modifiers ""
at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at util.ClassStarter2.exec(ClassStarter2.java:41)
at appli.station.StationServerWaitForCollect$CollectionLauncher.handleFile(StationServerWaitForCollect.java:116)
at net.FileDownloadService.run(FileDownloadService.java:134)
help me please![]()
Partager