Bonjour,
Tout d'abord posons le contexte.
Je suis débutant en JAVA, et c'est vraiment mon premier projet.
J'ai besoin pour un projet intranet web, d'intégrer un moyen de lancer une ligne de commande depuis une interface web.
Seul moyen de le faire est de passer par la création d'une applet Java signée pour qu'elle soit autorisée à faire des action sur le poste client.
J'ai donc créé un premier programme qui fonctionne bien tant que j'intègre le .class dans mes pages web, mais qui ne peut exécuter les commandes coté client du fait que je n'ai pas encore créé de .jar et signée mon appli.
J'ai bien compris comment signé un .jar mais je n'ai pas réussis à le rendre éxécutable (problème de manifest et/ou de code)
En effet lors de toute mes tentatives une erreur ressort :
Bien que je comprenne ce que ca veut dire je ne sais pas comment résoudre mon problème.Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot make a static reference to the non-static method init() from the
type LanceAppli
at LanceAppli.main(LanceAppli.java:21)
ci après mon code java :
Merci d'avance pour vos explications
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102 import java.applet.*; import java.awt.*; import java.awt.event.*; import java.net.*; public class LanceAppli extends Applet implements TextListener, ActionListener { /** * */ private static final long serialVersionUID = -7712116006950478375L; /** * @param args */ TextField login,pwd; Button validation, annulation; String commande,cmd; public void init() { // TODO Auto-generated method stub if (getParameter("commande")!=null) { cmd=getParameter("commande") ; } else { //annuler(); cmd="notepad"; } if (cmd!=null){ setBackground(Color.orange); add(new Label("Identifiant : ")); add(login = new TextField(20)); add(new Label("Mot de passe : ")); add(pwd = new TextField(20)); add(validation = new Button ("Valider")); add(annulation = new Button ("Annuler")); validation.addActionListener(this); annulation.addActionListener(this); } } public void actionPerformed(ActionEvent e) { commande = e.getActionCommand(); if (commande.equals("Valider")) { valider(); } else { annuler(); } } public void valider() { try { Runtime.getRuntime().exec(cmd); } catch (Exception e) { try { getAppletContext().showDocument(new URL("javascript:console.log("+e.getMessage()+")")); } catch (MalformedURLException me) { } } try { getAppletContext().showDocument (new URL("javascript:LANCEAPPLI.valider('valider')")); } catch (MalformedURLException me) { } } public void annuler() { try { getAppletContext().showDocument (new URL("javascript:LANCEAPPLI.annuler('annuler')")); } catch (MalformedURLException me) { } } public void textValueChanged(TextEvent e) { // TODO Auto-generated method stub } }
Partager