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 06/01/2012, à 16:52

corneliux

Problème Java

Bonjour à tous.
Je viens d'acquérir un GPS DG-100, et je souhaiterais pouvoir lancer le programme pour le configurer.
J'ai trouvé ceci : http://dg100util.sourceforge.net/

J'ai donc :
- téléchargé le fichier dg100util.jar
- installé la librairie librxtx-java

Dans la doc, il est indiqué que je dois tapé cette ligne de commande :

java -cp <classpath> -Djava.library.path=<path to libs> org.kaintoch.gps.globalsat.dg100.GlobalSatDg100 <parameters>

Mais je ne sais pas ce qu'il faut mettre  ni dans <classpath> ni dans <path to libs> !
Pour ce qui est de <parameters> , je devrais y arriver. Enfin, théoriquement smile

Je suppose que je dois lui indiquer ou se trouve java et ou se trouve la librairie dont il a besoin. Mais si lui ne sait pas, comment voulez-vous que je le sache !
Est-ce que quelqu'un peut m'aider, svp ?

Si je tape directement

java -jar dg100util.jar

J'ai ceci en réponse :

read file info list
GetFileInfo
Exception in thread "main" java.lang.NoClassDefFoundError: javax/comm/SerialPortEventListener
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    at org.kaintoch.gps.globalsat.dg100.GlobalSatDg100.sendCmdGetFileInfo(GlobalSatDg100.java:310)
    at org.kaintoch.gps.globalsat.dg100.GlobalSatDg100.readFileInfoList(GlobalSatDg100.java:184)
    at org.kaintoch.gps.globalsat.dg100.GlobalSatDg100.exportToGpx(GlobalSatDg100.java:153)
    at org.kaintoch.gps.globalsat.dg100.GlobalSatDg100.main(GlobalSatDg100.java:124)
Caused by: java.lang.ClassNotFoundException: javax.comm.SerialPortEventListener
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    ... 15 more

Hors ligne

#2 Le 06/01/2012, à 17:39

Vlam

Re : Problème Java

Salut,

A priori il te faut le paquet rxtx (d'après la doc de ton lien).
Télécharges le, copie le dans le même répertoire et remplace <classpath> et <path to libs> par "."

Si ça ne marche pas, copie l'erreur ici smile

Dernière modification par Vlam (Le 06/01/2012, à 17:39)


« Doutez de tout et surtout de ce que je vais vous dire. »

Hors ligne

#3 Le 06/01/2012, à 17:53

corneliux

Re : Problème Java

Merci de ton aide !
J'ai copié les fichiers librtxtParallel.so et librxtxSerial.so dans le répertoire courant et tapé cette commande :

java -cp . -Djava.library.path=. org.kaintoch.gps.globalsat.dg100.GlobalSatDg100 

C'est mieux, mais c'est pas encore ça, voici le retour :

Exception in thread "main" java.lang.NoClassDefFoundError: org/kaintoch/gps/globalsat/dg100/GlobalSatDg100
Caused by: java.lang.ClassNotFoundException: org.kaintoch.gps.globalsat.dg100.GlobalSatDg100
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.kaintoch.gps.globalsat.dg100.GlobalSatDg100. Program will exit.

Hors ligne

#4 Le 06/01/2012, à 18:39

Vlam

Re : Problème Java

Il ya deux choses apparement :

doc a écrit :

<classpath> must contain the rxtx package and the dg100util-classes.
<path to libs> must contain the path to all required libs, notably the jrxtx libraries (aka DLLs).

J'ai l'impression que tu as les librairies (les *.so), mais pas le "rxtx package". A priori on dirait qu'il te faut aussi un rxtx.jar (le nom pouvant être différent).

Edit : à priori tu dois pouvoir le récupérer dans l'archive ici (ça doit s’appeler rxtx-common.jar ou un nom approchant).

Dernière modification par Vlam (Le 06/01/2012, à 18:44)


« Doutez de tout et surtout de ce que je vais vous dire. »

Hors ligne

#5 Le 06/01/2012, à 19:00

corneliux

Re : Problème Java

Effectivement, je n'avais pas extrait le ficher RXTXcomm.jar du zip. J'avais juste extrait les 2 .so qui se trouvaient dans le répertoire Linux.
Maintenant, j'ai ces 4 fichiers dans le répertoire :
- dg100util.jar
- librxtxParallel.so
- librxtxSerial.so
- RXTXcomm.jar

Mais le résultat de la commande est identique.
Je n'y comprend pas grand chose, mais le org.kaintoch.gps.globalsat.dg100.GlobalSatDg100 ; c'est censé être un chemin sur mon ordi ou une adresse web ?
(je ne sais pas pourquoi, mais je sens le : ni l'un ni l'autre big_smile )

Hors ligne

#6 Le 07/01/2012, à 14:58

Vlam

Re : Problème Java

corneliux a écrit :

Je n'y comprend pas grand chose, mais le org.kaintoch.gps.globalsat.dg100.GlobalSatDg100 ; c'est censé être un chemin sur mon ordi ou une adresse web ?
(je ne sais pas pourquoi, mais je sens le : ni l'un ni l'autre big_smile )

Bien vu, ni l'un ni l'autre smile
C'est la signature d'une classe java, qui à priori devrait être contenue dans le fichier jar "dg100utils.jar".

Essaie d'extraire le jar, et regarde s'il y a le fichier suivant : "org/kaintoch/gps/globalsat/dg100/GlobalSatDg100.java". Si oui, on a un problème de classpath, sinon c'est qu'il manque un jar.

Edit : sinon essaies peut être aussi ça :

java -cp *.jar -Djava.library.path=. org.kaintoch.gps.globalsat.dg100.GlobalSatDg100 <parameters>

Je ne me rappelle plus exactement la syntaxe en java pour donner des jar dans le classpath. Mais de tête ça doit fonctionner.

Dernière modification par Vlam (Le 07/01/2012, à 15:03)


« Doutez de tout et surtout de ce que je vais vous dire. »

Hors ligne

#7 Le 07/01/2012, à 15:56

corneliux

Re : Problème Java

Vlam a écrit :

Essaie d'extraire le jar, et regarde s'il y a le fichier suivant : "org/kaintoch/gps/globalsat/dg100/GlobalSatDg100.java".

Le fichier GlobalSatDg100.class (et non pas .java)  existe bien dans "org/kaintoch/gps/globalsat/dg100/GlobalSatDg100.java"

Avec cette commande :

java -cp . -Djava.library.path=. org.kaintoch.gps.globalsat.dg100.GlobalSatDg100

J'ai ça :

Exception in thread "main" java.lang.NoClassDefFoundError: org/kaintoch/gps/globalsat/dg100/GlobalSatDg100
Caused by: java.lang.ClassNotFoundException: org.kaintoch.gps.globalsat.dg100.GlobalSatDg100
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.kaintoch.gps.globalsat.dg100.GlobalSatDg100. Program will exit.

Et avec cette commande :

java -cp *.jar -Djava.library.path=. org.kaintoch.gps.globalsat.dg100.GlobalSatDg100

J'ai ça :

Exception in thread "main" java.lang.NoClassDefFoundError: RXTXcomm/jar
Caused by: java.lang.ClassNotFoundException: RXTXcomm.jar
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: RXTXcomm.jar. Program will exit.

Hors ligne

#8 Le 07/01/2012, à 23:33

Vlam

Re : Problème Java

Effectivement les binaires en java, c'est *.class et pas *.java, c'est donc le bon fichier et c'était bien un problème de classpath.

C'est bizarre l'erreur que tu as, le programme, le classloader essaie de charger un jar.

Faut je le bidouille chez moi pour voir en direct, dès que c'est fait je te préviens.


« Doutez de tout et surtout de ce que je vais vous dire. »

Hors ligne

#9 Le 08/01/2012, à 20:20

Vlam

Re : Problème Java

Premier essaie aujourd'hui : fail !

Sinon tu peux aussi essayé de faire ce qu'il disent dans le fichier INSTALL :

Linux (only x86, x86_64, ia64 here but more in the ToyBox)

RXTXcomm.jar goes in /jre/lib/ext (under java)
librxtxSerial.so goes in /jre/lib/[machine type] (i386 for instance)
Make sure the user is in group lock or uucp so lockfiles work.

« Doutez de tout et surtout de ce que je vais vous dire. »

Hors ligne