Bonjour
Voici mon problème.
J'ai conçu un programme Java (J2SE 5) au départ Stand-alone. Pour favoriser sa visibilité, je veux le mettre à disposition via Java Web Start.
Voici le fichier jnlp de mon programme :
Le jar est bien évidemment signé.
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
21
22
23
24 <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" codebase="http://xxx.xxx.xxx.xxx/~gldavid/MyProg/" href="MyProg.jnlp"> <information> <title>Demo</title> <vendor>Myself</vendor> <description>Demo</description> <homepage href="https://xxx.xxx.xxx.xxx/~gldavid/MyProg/index.html"/> <description kind="short">Prediction</description> <offline-allowed/> </information> <security> <all-permissions/> </security> <resources> <jar href="MyProg.jar"/> <j2se version="1.5+" href="http://java.sun.com/products/autodl/j2se"/> </resources> <application-desc main-class="com.gldavid.gui.Main"/> </jnlp>
Mais à l'exécution via JWS, j'ai l'erreur suivante :
Soit dans la fonction suivante (j'ai commenté la ligne erronnée):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 java.lang.NullPointerException at com.gldavid.gui.PluginsList.scan(PluginsList.java:128)
Donc, ma fonction listFiles me renvoit null. Je pense que je dois avoir un problème avec le codebase de mon jnlp.
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
21
22 public Vector<String>scan() { java.util.Properties properties = System.getProperties(); String dir = properties.getProperty("user.dir")+"/Plugins"; String name = "file://"+dir; System.out.println("name= "+name); File repertory = null; try{ repertory = new java.io.File(new java.net.URI(name)); } catch(java.net.URISyntaxException urise){ JOptionPane.showMessageDialog(BioXpress.mw, urise.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); } File[] files = repertory.listFiles(); Vector<String>zips = new Vector<String>(); //Problème à la ligne suivante, le tablo files est null for(File f : files){ if(f.isDirectory()) zips.add(f.getName()); } return zips; }
Quelqu'un peut-il m'aider ?
Merci d'avance.
@++
Partager