IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

exécution java en Windev [WD16]


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Par défaut exécution java en Windev
    Bonjour,
    j'ai crée une classe java qui fonctionne très bien sous eclipse. j'au donc génére le .jar de mon projet eclipse pour l'exploiter en Windev 16 avec les recommandation de la doc (appel de méthode statique).

    Voici mon code Java :
    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
    import com.lexpersona.lp7command.command.CommandException;
    import com.lexpersona.lp7command.command.LP7Command;
     
    public class SignExpert {
     
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    try	{
     
    			System.out.println("Test");
     
    			String TblCommand[] = new String[22];
    			TblCommand[0]="-create";
    			TblCommand[1]="-sourcefile";
    			TblCommand[2]="C:\\Users\\cyril\\Desktop\\SignatureJava\\test.pdf";
    			TblCommand[3]="-signaturetype";
    			TblCommand[4]="-independant--implicit";
    			TblCommand[5]="-keystoretype";
    			TblCommand[6]="pkcs11";
    			TblCommand[7]="-token_manager_invisible";
    			TblCommand[8]="-token_pkcs11_module gclib.dll";
    			TblCommand[9]="-token_manager_invisible";
    			TblCommand[10]="-format plp7";
    			TblCommand[11]="-pdf-image-file";
    			TblCommand[12]="C:\\Users\\cyril\\Desktop\\SignatureJava\\signature.jpg";
    			TblCommand[13]="-pdf-pages period 2;1";
    			TblCommand[14]="-pdf-image-position bottom-left;20";
    			TblCommand[15]="-visible_signature";
    			TblCommand[16]="-visible_signature_image";
    			TblCommand[17]="C:\\Users\\cyril\\Desktop\\SignatureJava\\signature.jpg";
    			TblCommand[18]="-visible_signature_page 1";
    			TblCommand[19]="-visible_signature_width 80";
    			TblCommand[20]="-visible_signature_height 40";
    			TblCommand[21]="-visible_signature_position bottom-right;30";
     
    			LP7Command command = new LP7Command();
    			command.decodeParameters(TblCommand);
    			command.process();
    		}
    		catch (CommandException exception)	{
    			int errorCode = exception.getCode();
    			System.out.println("Error code: " + errorCode);
    			System.out.println("Error message: ");
    			exception.printStackTrace(System.out);
    		}		
    	}
     
    }
    Et mon code Windev :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SI	JavaCharge("C:\Users\cyril\Desktop\SignExpert.jar") ALORS //qui charge mon jar
    	LIB_CHARGE_API = ".jar chargé"
    	javaExécute("SignExpert") //qui doit lancer le main de ma classe SignExpert
     
    	LIB_RETOUR_JAVA = "Signature ok"
     
    SINON
    	LIB_CHARGE_API = "Impossible de chargé la classe "
    FIN

    Et a l’exécution je me retrouve avec l'erreur suivante :
    Vous avez appelé la fonction JavaExécute.
    Impossible de trouver la classe Java <SignExpert>.

    je ne comprend pas pourquoi si quelqu'un à une idée.

  2. #2
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 563
    Par défaut
    Je viens de regarder vite fait l'aide de wd12 sur javacharge. Il se contente de vérifier que le chemin existe.
    D'après ce que j'ai compris, il cherche les .class pas le .jar. C'est une piste : essaye de mettre juste tes classes (séparées par ; dans javacharge().

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 217
    Par défaut
    Bonjour,

    J'ai déjà eu ce problème.
    Il me semble l'avoir résolu en mettant le .jar dans le répertoire de l'exe et en l'appelant de cette façon.

    JavaCharge("SignExpert.jar")

    au lieu de

    JavaCharge("C:\Users\cyril\Desktop\SignExpert.jar")

    qui bizarrement ne fonctionnait pas tout en renvoyant vrai puisqu'il ne fait que vérifier le chemin comme l'a dit Frenchsting. Je n'ai pas cherché plus loin, j'étais pressé.

    à tester donc ...

    Cordialement

    Madsl@nD

  4. #4
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 399
    Par défaut
    Bonjour,

    J'ai un vieux projet test dans lequel j'appelle un .jar :
    - JavaCharge(<chemin complet C:\...;>) fonctionne
    - JavaExécute(<chemin complet pour aller chercher la classe du main>) et à mon avis, c'est le problème.

    Dans mon code, j'ai un chemin du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    com/toto/titi/ClasseDuMain
    qui correspond à l'arborescence dans mon jar.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 177
    Par défaut suite
    Merci de vos réponse j'ai trouvé la solution.
    J'ai dans mon projet java plusieurs librairies externe (external jar) j'ai du donc charger une à une les libraires dans la javaCharge():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    JavaCharge("C:\Users\cyril\Desktop\Test\Test.jar;" + ...
    	"C:\Users\cyril\Desktop\Test\cmail.jar;" + ...
    	"C:\Users\cyril\Desktop\Test\bcprov.jar;" +...
    	"C:\Users\cyril\Desktop\Test\bctsp.jar;" +...
    	"C:\Users\cyril\Desktop\Test\clp7.jar;")
    Et la ça fonctionne correctement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Crée un exécutable java sous linux
    Par Info_76 dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 30/07/2007, 22h33
  2. erreur exécution java
    Par mmb04 dans le forum Langage
    Réponses: 3
    Dernier message: 07/05/2007, 13h51
  3. Construire exécutable Java
    Par djamila dans le forum Build
    Réponses: 12
    Dernier message: 28/03/2007, 16h20
  4. [UBUNTU] Problème d'exécution Java
    Par JohnnyWalk dans le forum Ubuntu
    Réponses: 1
    Dernier message: 31/01/2007, 13h21
  5. Exécution java et php
    Par KinF dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 04/11/2005, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo