#1 Le 11/07/2017, à 10:26
- theozab
[Résolu] Planifier le lncement programme en java
Bonjour.
Je voudrais planifier le lancement d'un programme java (Jbidwatcher) avec "GNOME Schedule" seulement, je ne parviens pas a trouver la commande qui permet de lancer le programme.
J'ai testé:
teo@teo-T410:~$ jbidwatcher
jbidwatcher : commande introuvable
teo@teo-T410:~$
Avec une recherche sur mon ordinateur, je trouve deux dossier correspondent au programme (tout les deux dans "dossiers personnels"):
".jbidwatcher" qui semble correspondre a mes paramètres du logiciel (si je le supprime, le programme démarre normalement comme si c'est la 1er foi et recréé se dossier)
et "jbidwatcher" qui semble être le programme a proprement dit (il ne fonctionne plu si je renomme le dossier) mais je ne trouve pas de lanceur...
Une idée, une piste?
(je suis sous Ubuntu 16.04)
Dernière modification par theozab (Le 12/07/2017, à 02:07)
Hors ligne
#2 Le 11/07/2017, à 10:43
- thegamer94400
Re : [Résolu] Planifier le lncement programme en java
As tu essayé ./jbidwatcher
Passionné d'informatique et de photographie. J'essaie d'utiliser le plus possible linux
Mon site photo : http://alexandrejublotphotographie.website
Hors ligne
#3 Le 11/07/2017, à 10:50
- thegamer94400
Re : [Résolu] Planifier le lncement programme en java
Rectification
Sous le terminal:
pour compiler le fichier "javac [le nom du fichier .java]"
pour executer le fichier "java [le fichier .class qui a été créé]"
voilou
Passionné d'informatique et de photographie. J'essaie d'utiliser le plus possible linux
Mon site photo : http://alexandrejublotphotographie.website
Hors ligne
#4 Le 11/07/2017, à 11:06
- theozab
Re : [Résolu] Planifier le lncement programme en java
teo@teo-T410:~$ ./jbidwatcher
bash: ./jbidwatcher : est un dossier
Je ne suis pas sur de bien comprendre, quelle fichier compiler? Je n'as pas de ".java".
Si je descend dans l'arborescence de "jbidwatcher" j'ai des fichier en ".jar" et si je les monte, j'ai des fichiers en ".class" a l’intérieur .
Je n'y connais pas grand chose mais je pence que le programme est déjas compiler?
Hors ligne
#5 Le 11/07/2017, à 11:12
- thegamer94400
Re : [Résolu] Planifier le lncement programme en java
Dans ce cas la tu fais "java [ton_fichier_en .class]
Passionné d'informatique et de photographie. J'essaie d'utiliser le plus possible linux
Mon site photo : http://alexandrejublotphotographie.website
Hors ligne
#6 Le 11/07/2017, à 11:21
- theozab
Re : [Résolu] Planifier le lncement programme en java
Comment savoir quelle .class est le bon? En descendant dans l'arborescence de "jbidwatcher", je trouve plusieurs centaines de ".class"
Hors ligne
#7 Le 11/07/2017, à 11:22
- thegamer94400
Re : [Résolu] Planifier le lncement programme en java
C'est main.class en théorie
Passionné d'informatique et de photographie. J'essaie d'utiliser le plus possible linux
Mon site photo : http://alexandrejublotphotographie.website
Hors ligne
#8 Le 11/07/2017, à 11:34
- theozab
Re : [Résolu] Planifier le lncement programme en java
Je ne trouve pas de main.class.
Mais j'ai un dossier "main" qui contiens "main.jar"
Hors ligne
#9 Le 11/07/2017, à 13:16
- thegamer94400
Re : [Résolu] Planifier le lncement programme en java
Fait "java *.class"
Passionné d'informatique et de photographie. J'essaie d'utiliser le plus possible linux
Mon site photo : http://alexandrejublotphotographie.website
Hors ligne
#10 Le 11/07/2017, à 13:20
- thegamer94400
Re : [Résolu] Planifier le lncement programme en java
A moins que tu aie plusieurs programmes java dans le meme dossier
Dans ce cas la déplace les d'abord
Passionné d'informatique et de photographie. J'essaie d'utiliser le plus possible linux
Mon site photo : http://alexandrejublotphotographie.website
Hors ligne
#11 Le 11/07/2017, à 13:25
- grigouille
Re : [Résolu] Planifier le lncement programme en java
Cela ne sert à rien car il peut y avoir autant de main que de class public.
Il faut mettre le programme dans un jar et indiquer dans le MANIFEST le point d'entrée :
Setting an Application's Entry Point
Debian (xfce) 12
HP LaserJet M1132 MFP
Hors ligne
#12 Le 11/07/2017, à 13:27
- grigouille
Re : [Résolu] Planifier le lncement programme en java
Pour lancer un jar :
java -jar mon_fichier.jar
Debian (xfce) 12
HP LaserJet M1132 MFP
Hors ligne
#13 Le 11/07/2017, à 18:33
- theozab
Re : [Résolu] Planifier le lncement programme en java
Désoler de répondre un peu tard, j'ai eu une coupure du réseau...
Fait "java *.class"
teo@teo-T410:~$ java *.class
Erreur : impossible de trouver ou charger la classe principale *.class
(idem si je lance depuis un terminal dans le dossier "jbidwatcher")
En continuant a chercher hors ligne, j'ai fini par regarder dans "moniteur système" lors que Jbidwatcher était lancer. Clique droit sur le processus jbidwatcher (se nome java mais a le logo de jbidwatcher), propriétés. Et la il y a "ligne de commande":
java -cp lib/annotations.jar:lib/aopalliance.jar:lib/appbundler-1.0ea.jar:lib/apple.jar:lib/derby.jar:lib/guice-3.0.jar:lib/guice-assistedinject-3.0.jar:lib/jDeskMetrics.jar:lib/javax.inject.jar:lib/jdesktop.jar:lib/jl1.0.1.jar:lib/jline-2.11.jar:lib/jruby-incomplete.jar:lib/json_simple-1.1.jar:lib/jsoup-1.7.1.jar:lib/jsr305-1.3.9.jar:lib/l2fprod-common-fontchooser.jar:lib/mahalo.jar:lib/mysql-connector-java-5.1.7-bin.jar:lib/readline.jar:lib/txtmark.jar:lib/jbidwatcher:main/main.jar com.jbidwatcher.app.JBidWatch
Si je lance cette commande depuis un terminal dans le dossier jbidwatcher, il se lance correctement.
Mais GNOME Schedule lance la commande depuis un terminal classique (pas dans le répertoire jbidwatcher).
Comment remédier a ca?
Il faut mettre le programme dans un jar et indiquer dans le MANIFEST le point d'entrée
J'ai du mal a tout sésire sur le lien que tu me donne. Je ne sais pas quelle est le point d'entrer.
SI je ne trouve pas comment indiquer a GNOME Schedule d’exécuter la commande dans le dossier de jbidwatxher, je me pencherais plus sérieusement sur la solution de mettre le programme dans un jar.
Hors ligne
#14 Le 11/07/2017, à 20:55
- grigouille
Re : [Résolu] Planifier le lncement programme en java
Démonstration : deux fichiers, deux main, deux points d'entrée :
$ ls
A.java B.java
$ cat A.java
public class A {
public static void main(String [] arg) {
B b = null;
System.out.println("Coucou A");
}
}
$ cat B.java
public class B {
public static void main(String [] arg) {
B b = null;
System.out.println("Coucou B");
}
}
$ javac *.java
$ java A
Coucou A
$ java B
Coucou B
Debian (xfce) 12
HP LaserJet M1132 MFP
Hors ligne
#15 Le 12/07/2017, à 02:06
- theozab
Re : [Résolu] Planifier le lncement programme en java
J'ai essayé de me pencher sur ta démonstration mais pour être honnête, en novice que je suis, je n'y comprend rien...
J'ai finalement fait un petit scripte avec la commande trouver par le moniteur système et je l'ai placer dans le dossier jbidwatcher:
#!/bin/bash
cd ~/jbidwatcher
java -cp lib/annotations.jar:lib/aopalliance.jar:lib/appbundler-1.0ea.jar:lib/apple.jar:lib/derby.jar:lib/guice-3.0.jar:lib/guice-assistedinject-3.0.jar:lib/jDeskMetrics.jar:lib/javax.inject.jar:lib/jdesktop.jar:lib/jl1.0.1.jar:lib/jline-2.11.jar:lib/jruby-incomplete.jar:lib/json_simple-1.1.jar:lib/jsoup-1.7.1.jar:lib/jsr305-1.3.9.jar:lib/l2fprod-common-fontchooser.jar:lib/mahalo.jar:lib/mysql-connector-java-5.1.7-bin.jar:lib/readline.jar:lib/txtmark.jar:lib/jbidwatcher:main/main.jar com.jbidwatcher.app.JBidWatch
exit 0
Je n'ai pas réussi a planifier le lancement du scripte via GNOME Schedule (le scripte n'est pas lancer). Du coup, je planifie directement depuis "crontab -e" et tout fonctionne!
Merci pour votre aide!!
Hors ligne