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

NetBeans Java Discussion :

[NetBeans 7.3 et inférieur] Plantage de l'éditeur à l'appel d'une librairie Java externe


Sujet :

NetBeans Java

  1. #1
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut [NetBeans 7.3 et inférieur] Plantage de l'éditeur à l'appel d'une librairie Java externe
    Bonjour,

    Ma société a acheté la librairie Eldos Secure Blackbox, permettant notamment les différents formats signatures électroniques. Du coup, j'ai voulu tester cette librairie et comme nos projets (applets) sont codés sous NetBeans, j'ai créé un projet de test et ajouté les JARs de la librairie dedans. Et à l'appel de certaines classes, j'ai cette Exception qui apparaît :

    Annotation: An error occurred during parsing of 'Y:\TestSecureBlackBox\src\pades\Pades.java'. Please report a bug against java/source and attach dump file 'C:\Users\Mickaël\AppData\Roaming\NetBeans\7.3\var\log\Pades_232.dump'.
    Annotation: An error occurred during parsing of 'Y:\TestSecureBlackBox\src\pades\Pades.java'. Please report a bug against java/source and attach dump file 'C:\Users\Mickaël\AppData\Roaming\NetBeans\7.3\var\log\Pades_232.dump'.
    An error occurred during parsing of 'Y:\TestSecureBlackBox\src\pades\Pades.java'. Please report a bug against java/source and attach dump file 'C:\Users\Mickaël\AppData\Roaming\NetBeans\7.3\var\log\Pades_232.dump'.
    An error occurred during parsing of 'Y:\TestSecureBlackBox\src\pades\Pades.java'. Please report a bug against java/source and attach dump file 'C:\Users\Mickaël\AppData\Roaming\NetBeans\7.3\var\log\Pades_232.dump'.
    Caused: java.lang.ArrayIndexOutOfBoundsException: 110
    at com.sun.tools.javac.jvm.ClassReader$7.read(ClassReader.java:1022)
    at com.sun.tools.javac.jvm.ClassReader.readAttrs(ClassReader.java:1338)
    at com.sun.tools.javac.jvm.ClassReader.readMemberAttrs(ClassReader.java:1328)
    at com.sun.tools.javac.jvm.ClassReader.readCode(ClassReader.java:1365)
    at com.sun.tools.javac.jvm.ClassReader$2.read(ClassReader.java:956)
    at com.sun.tools.javac.jvm.ClassReader.readAttrs(ClassReader.java:1338)
    at com.sun.tools.javac.jvm.ClassReader.readMemberAttrs(ClassReader.java:1328)
    at com.sun.tools.javac.jvm.ClassReader.readMethod(ClassReader.java:1812)
    at com.sun.tools.javac.jvm.ClassReader.readClass(ClassReader.java:2012)
    at com.sun.tools.javac.jvm.ClassReader.readClassFile(ClassReader.java:2084)
    at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2306)
    at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2226)
    at com.sun.tools.javac.code.Symbol.complete(Symbol.java:422)
    at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:833)
    at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:2420)
    at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:1065)
    at com.sun.tools.javac.comp.Resolve.findIdentInPackage(Resolve.java:1237)
    at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:2471)
    at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:2362)
    at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1680)
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:451)
    at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:424)
    at com.sun.tools.javac.comp.Attr.attribType(Attr.java:494)
    at com.sun.tools.javac.comp.Attr.attribType(Attr.java:487)
    at com.sun.tools.javac.comp.MemberEnter.attribImportType(MemberEnter.java:919)
    at com.sun.tools.javac.comp.MemberEnter.visitImport(MemberEnter.java:584)
    at org.netbeans.lib.nbjavac.services.NBJavadocMemberEnter.visitImport(NBJavadocMemberEnter.java:78)
    at com.sun.tools.javac.tree.JCTree$JCImport.accept(JCTree.java:511)
    at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:421)
    at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:433)
    at com.sun.tools.javac.comp.MemberEnter.visitTopLevel(MemberEnter.java:551)
    at org.netbeans.lib.nbjavac.services.NBJavadocMemberEnter.visitTopLevel(NBJavadocMemberEnter.java:72)
    at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:457)
    at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:421)
    at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:1075)
    at com.sun.tools.javac.code.Symbol.complete(Symbol.java:422)
    at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:833)
    at com.sun.tools.javac.comp.Enter.complete(Enter.java:715)
    at com.sun.tools.javac.main.JavaCompiler.complete(JavaCompiler.java:979)
    at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:945)
    at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:369)
    at com.sun.tools.javac.api.JavacTaskImpl.enter(JavacTaskImpl.java:315)
    at org.netbeans.modules.java.source.parsing.JavacParser.moveToPhase(JavacParser.java:648)
    at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:516)
    at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:169)
    at org.netbeans.modules.parsing.impl.TaskProcessor.callGetResult(TaskProcessor.java:606)
    at org.netbeans.modules.parsing.impl.SourceCache.getResult(SourceCache.java:247)
    [catch] at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:718)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
    Suite à quoi, ne n'ai plus aucune erreur reportée dans mon code, genre un simple oubli de ";" ou fermeture d'accolade "}", NetBeans ne détecte plus rien. Il ne colorie même plus les attributs de la classe (genre private String _string;, _string n'apparaît pas en vert, comme de base dans NetBeans).
    Bien entendu, en cas d'erreur, ça plante à la compilation.

    Est-ce que quelqu'un aurait une idée de la source du problème ? Vous pouvez télécharger gratuitement la librairie, y'a une clé d'évaluation dedans pour faire fonctionner pas mal de choses. Je mets également le code de ma classe faisant planter l'éditeur de code de NetBeans.

    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
    package pades;
     
    import java.io.File;
    import java.util.Date;
    import SecureBlackbox.Base.TElFileStream;
    import SecureBlackbox.Base.TElMemoryCertStorage;
    import SecureBlackbox.Base.TElX509Certificate;
    import SecureBlackbox.PDF.TElPDFDocument;
    import SecureBlackbox.PDF.TElPDFSignature;
    import SecureBlackbox.PKIPDF.TElPDFAdvancedPublicKeySecurityHandler;
    import SecureBlackbox.PKIPDF.TSBPAdESSignatureType;
    import SecureBlackbox.Base.JNI;
    import SecureBlackbox.Base.SBUtils;
    import SecureBlackbox.PDF.SBPDF;
    import SecureBlackbox.PDF.SBPDFSecurity;
    import SecureBlackbox.PKIPDF.SBPAdES;
     
    public class Pades {
    	private File _fileToSign;
    	private TElFileStream _fileStream;
    	private TElPDFDocument _pdfRes;
    	private TElX509Certificate _certificate;
     
    	public Pades(File fileToSign, String certFilePath, String certPwd) {
    		this._init();
     
    		this._fileToSign	= fileToSign;
    		this._fileStream	= new TElFileStream(this._fileToSign.getAbsolutePath(), "rw", true);
    		this._pdfRes		= new TElPDFDocument();
    		this._certificate	= new TElX509Certificate();
     
    		this._certificate.LoadFromFileAuto(certFilePath, certPwd);
    	}
     
    	private void _init() {
    		SBUtils.SetLicenseKey("7C1337DC31F95ED28DF491BA678272AB508F344CB43ADABCB007218AADB595C7D49D39526683AE449292413B48614FD185592DEA952AA55F4670F9939ED7D8F2F3E1F9BF975B20DA2974AF240CD4F236262820BE128D42BA6BF15E2452C601D9BDB64391DD7E19A1B63DF6899CCAE8CEA9BA664E4A48A679020B0763E0E47DAA3CF71022DF16ABD7AB107B3A95174685B1985445EED797A8C01FCC6ACD776BF45571A6615D4957D6495CEC6225EC228ACEF0163A0DA9B5A155409BE7A887FFC61E4FCBFF5D642B092B901956330FEABE9021C59EA3F3593817AE6619668AC2A53F6BA727EF5FE3E289BFF7F8A88D8863B2D7ACD1EB0C67878997A5390963A4E6");
     
    		SBPDF.Initialize();
    		SBPAdES.Initialize();
    		SBPDFSecurity.Initialize("C:\\Users\\Mickaël\\Desktop\\Eldos Secure BBOX\\Classes\\Java\\JNI\\Win32sbbjni32.dll");
     
    		try {
    			JNI.initialize();
    		}
    		catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
     
    	public void sign() throws Exception {
    		System.out.println("On signe le document...\n");
     
    		try {
    			this._pdfRes.Open(this._fileStream);
    			int signIndex = this._pdfRes.AddSignature();
     
    			TElMemoryCertStorage certStorage = new TElMemoryCertStorage();
    			certStorage.Clear();
    			certStorage.Add(this._certificate, true);
     
    			TElPDFAdvancedPublicKeySecurityHandler handler = new TElPDFAdvancedPublicKeySecurityHandler();
    //			handler.SetSignatureType(TSBPDFPublicKeySignatureType.pstPKCS7SHA1);
    			handler.SetPAdESSignatureType(TSBPAdESSignatureType.pastBasic);
    			handler.SetCertStorage(certStorage);
    			handler.SetTSPClient(null);
    			handler.SetAutoCollectRevocationInfo(true);
    			handler.SetIgnoreChainValidationErrors(true);
    			handler.SetIgnoreTimestampFailure(true);
     
    			TElPDFSignature sign = this._pdfRes.GetSignatureEntry(signIndex);
    			sign.SetHandler(handler);
    			sign.SetInvisible(false);
    			sign.SetSigningTime(new Date());
     
    			this._pdfRes.Close(true);
     
    			System.out.println("Signature réussie !\n");
    		}
    		catch (Exception e) {
    			System.out.println("Echec de la signature !\n");
    			throw e;
    		}
    		finally {
    			this._pdfRes.Close(false);
    		}
    	}
    }
    Merci d'avance !

    DarkSeiryu

  2. #2
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut Etrange
    Bonjour,

    J'ai du mal à comprendre le plantage bibli jar et relation Netbeans ? mais bon, on est sûr de rien. comme c'est commercial, tu peux peut être remonter le pb à la société ?

    y'a quoi dans le dump ?

    Caused: java.lang.ArrayIndexOutOfBoundsException: 110

    je ne vois pas de collection dans ton code ?


    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  3. #3
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Yo ! Merci pour ta réponse.

    Citation Envoyé par nathieb Voir le message
    J'ai du mal à comprendre le plantage bibli jar et relation Netbeans ? mais bon, on est sûr de rien.
    C'est simple, dès que je me sers de certains composants de la librairie, l'éditeur de NetBeans ne fonctionne plus. Je perds la coloration syntaxique du code (sur certaines choses en tout cas) et il ne me souligne plus une ligne en erreur (voir image jointe).

    Citation Envoyé par nathieb Voir le message
    comme c'est commercial, tu peux peut être remonter le pb à la société ?
    Déjà fait, ils n'ont pas le problème et donc pas de solution à me proposer, mis à part passer sous Eclipse...

    Citation Envoyé par nathieb Voir le message
    y'a quoi dans le dump ?
    Le dump de ?

    Citation Envoyé par nathieb Voir le message
    Caused: java.lang.ArrayIndexOutOfBoundsException: 110

    je ne vois pas de collection dans ton code ?
    Regarde la pièce jointe, ce n'est pas la compilation du code qui plante, mais l'éditeur qui me sort cette exception en essayant de lire la classe de la librairie (je pense).
    Images attachées Images attachées  

  4. #4
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut IDE pas chouette
    Bonjour,

    tu peux peut être essayer de mettre -J-Dnetbeans.preresolve.classes=true dans ton fichier de démarrage de netbeans. Je cherche le moyen de le démarrer en mode debug, mais je ne trouve plus l'option ....

    L'option log les dépendances manquantes, je crois

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  5. #5
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut osgi
    Bonjour,

    Faut savoir que Netbeans fonctionne avec OSGI pour le chargement des "profils", chargement des jar. Peut être un conflit de jar ...

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  6. #6
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Merci pour le temps que tu m'accordes.

    Citation Envoyé par nathieb Voir le message
    tu peux peut être essayer de mettre -J-Dnetbeans.preresolve.classes=true dans ton fichier de démarrage de netbeans.
    Je l'ai rajouté dans le fichier "C:\Program Files\NetBeans 7.3\etc/netbeans.conf", dans les "netbeans_default_options". Ca n'a pas résolu le problème après redémarrage de l'IDE.

    Citation Envoyé par nathieb Voir le message
    L'option log les dépendances manquantes, je crois
    Où puis-je voir les logs ?
    EDIT : c'est bon j'ai trouvé.

    Citation Envoyé par nathieb Voir le message
    Faut savoir que Netbeans fonctionne avec OSGI pour le chargement des "profils", chargement des jar. Peut être un conflit de jar ...
    J'ai vérifié les JAR importés, je n'en ai pas mis en double et ne vois pas trop où il pourrait y avoir un conflit...

    DarkSeiryu

  7. #7
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 058
    Points : 1 532
    Points
    1 532
    Par défaut coton ton histoire
    Bonjour,

    J'avoue que c'est chaud, puisque cela touche l'IDE et son chargement.
    Essaye peut être avec la version 7.2, de netbeans parfois les dépendances sont
    différentes.

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  8. #8
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Ouais j'ai déjà essayé avec les versions 7.1, 7.2 et 7.3. J'ai même testé avec différents JDK, juste pour voir. Même problème. Du coup j'me disais que ça vient peut-être d'un paramétrage de NetBeans, surtout que j'ai fait plein de tests de cette librairie sous Eclipse et qu'il n'y a aucun problème.

    DarkSeiryu

  9. #9
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Yo !

    Bon visiblement personne ne voit d'où pourrait venir le problème... Est-ce que vous avez essayé d'ajouter la lib' à un projet et d'utiliser la classe que j'ai link ?

    DarkSeiryu

  10. #10
    Membre actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Points : 275
    Points
    275
    Par défaut
    Bonjour tout le monde,

    Visiblement personne n'a de solution, je ferme le sujet. Merci quand même.

    DarkSeiryu

    PS : ah y'a plus le "Delestage" ? Bah tant pis.

Discussions similaires

  1. plantage après click sur le OK d'une messageBox
    Par cenedra dans le forum MFC
    Réponses: 7
    Dernier message: 31/07/2006, 08h43
  2. [Access 03] Plantage de l'éditeur VBA
    Par 973thom dans le forum Access
    Réponses: 13
    Dernier message: 22/06/2006, 16h45
  3. Réponses: 3
    Dernier message: 22/05/2006, 10h21
  4. Réponses: 3
    Dernier message: 27/01/2006, 14h11
  5. [débutant] comment incorporer une librairie à netbeans
    Par djerbafr dans le forum NetBeans
    Réponses: 4
    Dernier message: 13/06/2005, 20h10

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