Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile

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 smile


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...


thegamer94400 a écrit :

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?



grigouille a écrit :

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