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

Langage Java Discussion :

Exploiter les balises dans page web


Sujet :

Langage Java

  1. #41
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Utilise ton manifest.txt et pas le mien, déjà (le mien c'était juste pour essayer pour voir, mais c'est un retour-chariot windows, pas mac, d'où l'octet supplémentaire).

    Sur la remarque de @Thelvin, elle est d'autant plus judicieuse que visiblement il a une expérience de bukkit, dont j'ai dit que je n'en avais aucune. La documentation indique qu'on peut faire comme j'ai dit (et également comme il a dit), mais ça ne veut pas dire que ça fonctionne.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  2. #42
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par To175 Voir le message
    c'est fait et maintenant c'est un problème de java plus de minecraft.
    C'est un problème d'utilisation de Java dans le cadre de Minecraft.

    Citation Envoyé par To175 Voir le message
    J'ai dit que FailingHttpStatusCodeException était au bon endroit
    Et alors ? L'erreur indiquée est qu'il n'est pas trouvé.

    Citation Envoyé par To175 Voir le message
    On a conclut que manifest posait problème
    À tort.
    Même si Bukkit avait évolué depuis que je le regarde plus et était capable de lire les Manifest des plugins, il ne s'intéresserait pas au Class-Path, pour la raison déjà énoncée.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #43
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Utilise ton manifest.txt et pas le mien, déjà (le mien c'était juste pour essayer pour voir, mais c'est un retour-chariot windows, pas mac, d'où l'octet supplémentaire).

    Sur la remarque de @Thelvin, elle est d'autant plus judicieuse que visiblement il a une expérience de bukkit, dont j'ai dit que je n'en avais aucune. La documentation indique qu'on peut faire comme j'ai dit (et également comme il a dit), mais ça ne veut pas dire que ça fonctionne.
    Citation Envoyé par thelvin Voir le message
    C'est un problème d'utilisation de Java dans le cadre de Minecraft.

    Et alors ? L'erreur indiquée est qu'il n'est pas trouvé.

    À tort.
    Même si Bukkit avait évolué depuis que je le regarde plus et était capable de lire les Manifest des plugins, il ne s'intéresserait pas au Class-Path, pour la raison déjà énoncée.
    Ah ok en effet.. merci,
    cependant comme je le spécifiais dans mon message d'hier ~14h, voilà ce qu'on m'a proposé sur les forum minecraft :

    @to175 your libraries are not plugins, don't drop them in the plugins folder. For Maven shading, google around a bit and you will find tutorials which explain you how to use it. If you don't use Maven (which I expect at the moment), build your jar as you usually do, and:
    Open the jar with an extraction tool (7-zip, winrar, etc).
    Open the META-INF folder, and open manifest.MF.
    Set Class-Path to ../lib/HtmlUnit.jar (or whatever the filename is).
    Save, close, perform any action required to update the manifest.MF file (so the next time you view it, your changes should be visible).
    In your server root, create a folder 'lib'.
    In that folder, put HtmlUnit.jar (or whatever the filename is).
    Put your plugin in the plugins folder.
    Restart your server.
    Donc moi je cherche à faire ce qu'il me dit avec le Class-path
    Et j'utilise pas Maven parceque je comprends pas et qu'il dit que j'en ai à priori pas besoin.

  4. #44
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ah, effectivement, autant pour moi.
    J'avais pensé que c'était une idée glanée de n'importe où, et que de toute façon, ajouter une ligne dans un fichier ne justifiait pas une journée de travail, si c'était censé marcher.

    Mais je constate que des ressources qui ont l'air de savoir ce qu'elles disent, disent effectivement de faire ça.
    C'est quand même assez dérangeant d'imaginer lire une information de Class-Path pour agir sur autre chose que du Class-Path, ça m'a pas l'air bien pérenne tout ça.

    Mais si des habitués disent que c'est comme ça qu'il faut faire, ok, j'ai rien dit. Au moins c'est plus simple que ce qu'on faisait avant.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #45
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Ah, effectivement, autant pour moi.
    J'avais pensé que c'était une idée glanée de n'importe où, et que de toute façon, ajouter une ligne dans un fichier ne justifiait pas une journée de travail, si c'était censé marcher.

    Mais je constate que des ressources qui ont l'air de savoir ce qu'elles disent, disent effectivement de faire ça.
    C'est quand même assez dérangeant d'imaginer lire une information de Class-Path pour agir sur autre chose que du Class-Path, ça m'a pas l'air bien pérenne tout ça.

    Mais si des habitués disent que c'est comme ça qu'il faut faire, ok, j'ai rien dit. Au moins c'est plus simple que ce qu'on faisait avant.
    Quoiqu'il en soit, on saura bien vite.

    Si je fais la commande sans class alors j'ai que le manifest dans mon jar
    Et je sais pas comment indiquer la class ...
    La class a bel et bien ce chemin là (Faites pas attention au nom hein )
    /Users/THEO/Documents/workspace/Mecraft/bin/fr/mecraft/Mecraft/MeClass.class

    pc2:~ THEO$ jar cfm /Users/THEO/Desktop/MC/"JAVA JRE"/Mecraft.jar /Users/THEO/Desktop/MC/"JAVA JRE"/manifest.txt /Users/THEO/Documents/workspace/Mecraft/bin/fr/mecraft/Mecraft/MeClass.class

    Mais en utilisant ça, alors dans mon jar je n'ai pas ce que je veux...
    J'ai Users.THEO.Documents.workspace.Mecraft.bin.fr.mecraft.Mecraft
    Mais moi ce dont j'ai besoin c'est fr.mecraft.Mecraft il me semble ;(

    EDIT : j'ai mis umf, je test maintenant !
    jar ufm /Users/THEO/Desktop/MC/"JAVA JRE"/Mecraft.jar /Users/THEO/Desktop/MC/"JAVA JRE"/manifest.txt
    Fonctionne !


    EDIT2 :
    raaahhh mais b*rdeeeel !
    En plus c'est TOUJOURS la MEME erreur..... (après export, modification successful de MANIFEST et upload de Mecraft.jar vers le serveur dans "plugins")

    Sur mon serveur dans "lib" j'ai "htmlunit-2.15.jar" et tous les autres JAR du dossier "htmlunit-2.15".

    J'ai fais générer un manifest automatiquement hein !
    Et j'ai viré le dossier META-INF

    Quand j'explore Mecraft.jar voilà ce que j'ai :
    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
     
    V .settings
        org.eclipse.jdt.core.prefs
    V META-INF
        MANIFEST.MF
    V fr
            V mecraft
               V Mecraft
                > MeClass
               .DS_Store
            .DS_Store
        .DS_Store
        .classpath
        .project
        config.yml
        plugin.yml
    MANIFEST.MF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Manifest-Version: 1.0
    Class-Path: ../lib/*
    Created-By: 1.8.0_25 (Oracle Corporation)
    Ps : j'en ai marre du .DS_Store qui me fais une erreur à chaque export, suis obligé de le décocher...



    [14:06:49] [Server thread/ERROR]: Could not load 'plugins/Mecraft.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: com/gargoylesoftware/htmlunit/FailingHttpStatusCodeException
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[craftbukkit.jar:git-Spigot-1642]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:341) ~[craftbukkit.jar:git-Spigot-1642]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:263) [craftbukkit.jar:git-Spigot-1642]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:369) [craftbukkit.jar:git-Spigot-1642]
    at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:152) [craftbukkit.jar:git-Spigot-1642]
    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [craftbukkit.jar:git-Spigot-1642]
    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1642]
    Caused by: java.lang.NoClassDefFoundError: com/gargoylesoftware/htmlunit/FailingHttpStatusCodeException
    at java.lang.Class.forName0(Native Method) ~[?:1.7.0]
    at java.lang.Class.forName(Class.java:264) ~[?:1.7.0]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[craftbukkit.jar:git-Spigot-1642]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[craftbukkit.jar:git-Spigot-1642]
    ... 6 more
    Caused by: java.lang.ClassNotFoundException: com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[?:1.7.0]
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[?:1.7.0]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.7.0]
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[?:1.7.0]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[craftbukkit.jar:git-Spigot-1642]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[craftbukkit.jar:git-Spigot-1642]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) ~[?:1.7.0]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ~[?:1.7.0]
    at java.lang.Class.forName0(Native Method) ~[?:1.7.0]
    at java.lang.Class.forName(Class.java:264) ~[?:1.7.0]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[craftbukkit.jar:git-Spigot-1642]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[craftbukkit.jar:git-Spigot-1642]
    ... 6 more

    Je dois partir maintenant...
    Tout est résumé ici avec spoiler : http://www.spigotmc.org/threads/jsou...7/#post-521178
    J'attends leur réponse :/

  6. #46
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Je reste incroyablement pas convaincu par le Class-Path mais, devant l'insistance générale des ressources plutôt crédibles qui le disent,

    J'essaierais au moins :
    - de lister les noms des .jar au lieu d'utiliser un wildcard * (oui, en principe, dans le Manifest, un * devrait marcher. Mais j'ai des doutes dans la manière dont ce Manifest est lu)
    - de donner le chemin absolu des .jars à importer, plutôt qu'un relatif. (par exemple /mnt/aedfdqfff/mecraft/spigot/lib/htmlunit.jar j'invente mais quelque chose comme ça.) C'est moche, mais si ça marche ça permettra de valider des choses.

    Au pire essayer d'abord avec juste htmlunit.jar, et si c'est une autre classe qu'il ne trouve pas, au moins on a trouvé comment on fait pour importer un jar.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #47
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Je reste incroyablement pas convaincu par le Class-Path mais, devant l'insistance générale des ressources plutôt crédibles qui le disent,

    J'essaierais au moins :
    - de lister les noms des .jar au lieu d'utiliser un wildcard * (oui, en principe, dans le Manifest, un * devrait marcher. Mais j'ai des doutes dans la manière dont ce Manifest est lu)
    - de donner le chemin absolu des .jars à importer, plutôt qu'un relatif. (par exemple /mnt/aedfdqfff/mecraft/spigot/lib/htmlunit.jar j'invente mais quelque chose comme ça.) C'est moche, mais si ça marche ça permettra de valider des choses.

    Au pire essayer d'abord avec juste htmlunit.jar, et si c'est une autre classe qu'il ne trouve pas, au moins on a trouvé comment on fait pour importer un jar.
    Ok bonne idée, je teste de ce pas.

    Juste, comment j'enlève cette erreur, à part en décochant ".DS_Store" parceque ça me gave :p
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    JAR export finished with warnings. See details for additional information.
      Problem writing Mecraft/src/.DS_Store to JAR: duplicate entry: .DS_Store
      duplicate entry: .DS_Store
    EDIT :

    J'ai export Mecraft.jar et changé le manifest.txt

    Ça me donne un MANIFEST.MF comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Manifest-Version: 1.0
    Class-Path: /lib/htmlunit-2.15.jar
    Created-By: 1.8.0_25 (Oracle Corporation)
    (ligne vide)
    J'ai mis Mecraft.jar sur le serveur dans plugins et j'ai htmlunit-2.15.jar dans lib

    Erreur :
    FailingHttpStatusCodeException

  8. #48
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Oui non mais c'est pas possible que le répertoire des libs soit à la racine du système de fichier -_-°.

    Il faut un chemin absolu qui indique l'emplacement du début à la fin, genre /chemin/vers/ton/serveur/spigot/bukkit/lib/htmlunit.jar et non pas juste /lib/htmlunit.jar
    En principe l'outil que tu utilises pour placer tes fichiers jars, doit être capable de te dire où il les met -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #49
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Oui non mais c'est pas possible que le répertoire des libs soit à la racine du système de fichier -_-°.

    Il faut un chemin absolu qui indique l'emplacement du début à la fin, genre /chemin/vers/ton/serveur/spigot/bukkit/lib/htmlunit.jar et non pas juste /lib/htmlunit.jar
    En principe l'outil que tu utilises pour placer tes fichiers jars, doit être capable de te dire où il les met -_-°.
    Yes désolé je me disais bien que c'était louche :p
    J'utilise FilleZilla :
    Hôte : xxx.yyy.com
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Statut :         	Résolution de l'adresse de xxx.yyy.com
    Statut :         	Connexion à aaa.bbb.cc.ddd:21...
    Statut :         	Connexion établie, attente du message d'accueil...
    Statut :         	Serveur non sécurisé, celui-ci ne supporte pas FTP sur TLS.
    Statut :         	Connecté
    Statut :         	Récupération du contenu du dossier...
    Statut :         	Contenu du dossier "/" affiché avec succès
    Statut :         	Récupération du contenu du dossier "/lib"...
    Statut :         	Contenu du dossier "/lib" affiché avec succès
    Je vois que /lib
    Il me dit vraiment que je suis dans "/" !

  10. #50
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Bleh. Bon, pour du FTP je suppose que tant mieux. (T'es sûr que le /lib à la racine du compte il est là pour contenir des .jar ? Il sert à quoi cet accès FTP au juste ?)

    Pas d'accès SSH, SCP, les outils habituels ? T'as juste aucun moyen de dézipper un fichier dessus ou de lancer un script ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #51
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Bleh. Bon, pour du FTP je suppose que tant mieux. (T'es sûr que le /lib à la racine du compte il est là pour contenir des .jar ? Il sert à quoi cet accès FTP au juste ?)

    Pas d'accès SSH, SCP, les outils habituels ? T'as juste aucun moyen de dézipper un fichier dessus ou de lancer un script ?
    Le lib je l'ai créé comme on me l'a demandé sur le forum spigot.

    L'accès FTP sert à configurer le serveur dans "/" il y a des fichiers de configs, les maps et le dossier "plugins" dans le quel je mets Mecraft.jar

    Non on m'interdit la connexion en SSH

    EDIT :
    J'ai changé "user" et l'adresse mais voilà ce que je peux avoir par exemple :
    ftp://user@x.x.com/lib/commons-codec-1.9.jar

    Et dans le navigateur ça répond que j'ai pas le droit de voir le fichier.
    Je dois écrire x.x.com/lib/commons-codec-1.9.jar dans Class-path ??

  12. #52
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Non, laisse tomber. Je n'imaginais pas qu'on inventerait des configurations de ce genre, mais manifestement c'est le cas. Pour connaître le vrai chemin des fichiers il faudrait que ce soit le plugin lui-même, manifestement le seul truc que tu as encore le droit d'exécuter, qui te le dise dans un message ou dans des logs (y a-t-il même des logs dans cette config, au point où on en est ?). Ça devient ridiculement compliqué juste pour connaître un chemin absolu.

    ... Et en mettant juste ./lib/htmlunit.jar ou ../lib/htmlunit.jar, même erreur que d'habitude ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #53
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Non, laisse tomber. Je n'imaginais pas qu'on inventerait des configurations de ce genre, mais manifestement c'est le cas. Pour connaître le vrai chemin des fichiers il faudrait que ce soit le plugin lui-même, manifestement le seul truc que tu as encore le droit d'exécuter, qui te le dise dans un message ou dans des logs (y a-t-il même des logs dans cette config, au point où on en est ?). Ça devient ridiculement compliqué juste pour connaître un chemin absolu.

    ... Et en mettant juste ./lib/htmlunit.jar ou ../lib/htmlunit.jar, même erreur que d'habitude ?
    C'est ./lib/htmlunit.jar ou ../lib/htmlunit.jar l'habitude dont tu parles...

  14. #54
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ok. Je demandais parce que je ne t'ai vu essayer que ./lib/* ou ../lib/* depuis que tu sais avoir un fichier Manifest. Certes, en principe c'est censé marcher les * mais je continue de douter de ce format.

    ... Et au passage on est bien d'accord que je voulais dire ./lib/nomdufichier.jar , avec donc la version et tout le toutim si tu l'as pas renommé ?


    ... Tant que tu demandes aussi à des devs Spigot je suppose que tu fais ce qu'il faut pour t'en sortir.

    (Enfin moi, il y a longtemps que j'aurais modifié le plugin pour qu'il me fasse la liste du répertoire courant et de ce qui s'y trouve, puis si ça va toujours pas mieux pour qu'il charge lui-même les jars avec un URLClassLoader. Mais il faut reconnaître que c'est pas sexy comme solution.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #55
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Ok. Je demandais parce que je ne t'ai vu essayer que ./lib/* ou ../lib/* depuis que tu sais avoir un fichier Manifest. Certes, en principe c'est censé marcher les * mais je continue de douter de ce format.

    ... Et au passage on est bien d'accord que je voulais dire ./lib/nomdufichier.jar , avec donc la version et tout le toutim si tu l'as pas renommé ?


    ... Tant que tu demandes aussi à des devs Spigot je suppose que tu fais ce qu'il faut pour t'en sortir.

    (Enfin moi, il y a longtemps que j'aurais modifié le plugin pour qu'il me fasse la liste du répertoire courant et de ce qui s'y trouve, puis si ça va toujours pas mieux pour qu'il charge lui-même les jars avec un URLClassLoader. Mais il faut reconnaître que c'est pas sexy comme solution.)
    On a dit que je devais ajouter tous les jar au path mais bref je l'avais fait au début ça, avant d'essayer avec *

    On va pas commencer à chipoter on va pas s'en sortir nan justement je fais attention à tous les détails de ce genre. Les fichiers sont tous corrects. Le problème peut seulement venir de : Class-path du manifest, la classe principale avec tout mon code, le build path...

    Pour avoir le chemin je peux utiliser ça ?
    String dirPath = file.getAbsoluteFile().getParentFile().getAbsolutePath()
    avec comme file, Mecraft.jar !

    Les Devs bukkit et spigot répondent plus, ils ne savent pas

    Mais je trouve ça trop facile le problème du path... Il faudrait reprendre toutes les étapes depuis le début, si ça se trouve ça n'a rien avoir.
    (JRE 1.7 c'est bon hein ?)

    EDIT !
    String dirPath = file.getAbsoluteFile().getParentFile().getAbsolutePath()
    Pour le file Mecraft.jar, ça me donne : /var/directory_serv/servmc_xxxxx

  16. #56
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par To175 Voir le message
    Mais je trouve ça trop facile le problème du path... Il faudrait reprendre toutes les étapes depuis le début, si ça se trouve ça n'a rien avoir.
    Je le dis depuis le début que ça n'a rien à voir, mais les ressources en ligne ne sont pas d'accord avec moi, donc bon.
    En tout cas ces mêmes ressources en ligne conseillent d'abord de fusionner tous les jars en un seul, et ensuite seulement parlent du Class-Path si la première solution ne plaît pas. C'est à se demander si quelqu'un a vérifié.

    Citation Envoyé par To175 Voir le message
    String dirPath = file.getAbsoluteFile().getParentFile().getAbsolutePath()
    Pour le file Mecraft.jar, ça me donne : /var/directory_serv/servmc_xxxxx
    Bien.

    Mon idée c'était de faire des listFiles() pour savoir qu'est-ce qu'il y a là-dedans, et où vont vraiment les fichiers que tu places avec FTP.
    Une fois que tu as ça, tu peux toujours indiquer le chemin absolu de ton jar. Et si ça ça ne marche pas, toute la planète peut dire ce qu'elle veut, le Class-Path est pas lu au moins par la version de Minecraft que tu utilises et c'est tout. Si ça marche, c'est que le chemin utilisé pour charger les jars ne correspond pas à ./lib ou ../lib.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  17. #57
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Je le dis depuis le début que ça n'a rien à voir, mais les ressources en ligne ne sont pas d'accord avec moi, donc bon.
    En tout cas ces mêmes ressources en ligne conseillent d'abord de fusionner tous les jars en un seul, et ensuite seulement parlent du Class-Path si la première solution ne plaît pas. C'est à se demander si quelqu'un a vérifié.
    Bien.
    Mon idée c'était de faire des listFiles() pour savoir qu'est-ce qu'il y a là-dedans, et où vont vraiment les fichiers que tu places avec FTP.
    Une fois que tu as ça, tu peux toujours indiquer le chemin absolu de ton jar. Et si ça ça ne marche pas, toute la planète peut dire ce qu'elle veut, le Class-Path est pas lu au moins par la version de Minecraft que tu utilises et c'est tout. Si ça marche, c'est que le chemin utilisé pour charger les jars ne correspond pas à ./lib ou ../lib.
    Okok merci beaucoup

    Je peux utiliser ça ?
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    File file = new File("/var/directory_serv/servmc_xxxxx/lib");
    File[] paths = file.listFiles();
    player.sendMessage(prefixMecraft+" "+paths);

    C'est le bon chemin ?

    EDIT :
    Bon après avoir fouillé partout dans la racine de mon hébergeur
    j'ai trouvé des trucs ! Félicitations vous aviez raison, ../lib ne fonctionne pas ! Le ./lib contient tous les jar !
    Mais bon ... J'ai déjà essayé :'( J'en suis sur hein, par exemple j'atteins de la meme manière le dossier plugin : ./plugins ou ./ pour voir le dossier ou j'ai tout. Sinon j'ai aussi le droit d'ouvrir /var/directory_serv/...

  18. #58
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Help s'il vous plait !
    En fait je dis pas au plugin de regarder le class path ni rien, osef apparemment ?
    J'ai juste configuré le build path et fais mes import.
    J'ai trouvé ça mais peut être ça n'a rien à voir...
    http://bukkit.org/threads/solved-adv...-plugin.56209/


    Je vais tester avec le full path :s

    EDIT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    pc2:~ THEO$ jar ufm /Users/THEO/Desktop/MC/"JAVA JRE"/Mecraft.jar /Users/THEO/Desktop/MC/"JAVA JRE"/manifest.txt
    java.io.IOException: line too long
    	at java.util.jar.Attributes.read(Attributes.java:379)
    	at java.util.jar.Manifest.read(Manifest.java:199)
    	at java.util.jar.Manifest.<init>(Manifest.java:69)
    	at sun.tools.jar.Main.update(Main.java:603)
    	at sun.tools.jar.Main.run(Main.java:269)
    	at sun.tools.jar.Main.main(Main.java:1233)

  19. #59
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Le message d'erreur est clair, une ligne est trop longue.

    Le manifest ne peut pas contenir de ligne de plus de 72 bytes

  20. #60
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 299
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Le message d'erreur est clair, une ligne est trop longue.

    Le manifest ne peut pas contenir de ligne de plus de 72 bytes
    lol merci bien....................................................


    Bon donc j'ai mis 2 fichiers par lignes, j'ai tjr le message d'erreur
    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
    [21:06:07] [Server thread/ERROR]: Could not load 'plugins/Mecraft.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: com/gargoylesoftware/htmlunit/FailingHttpStatusCodeException
    	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:133) ~[craftbukkit.jar:git-Spigot-1642]
    	at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:341) ~[craftbukkit.jar:git-Spigot-1642]
    	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:263) [craftbukkit.jar:git-Spigot-1642]
    	at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.java:369) [craftbukkit.jar:git-Spigot-1642]
    	at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.java:152) [craftbukkit.jar:git-Spigot-1642]
    	at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:458) [craftbukkit.jar:git-Spigot-1642]
    	at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1642]
    Caused by: java.lang.NoClassDefFoundError: com/gargoylesoftware/htmlunit/FailingHttpStatusCodeException
    	at java.lang.Class.forName0(Native Method) ~[?:1.7.0]
    	at java.lang.Class.forName(Class.java:264) ~[?:1.7.0]
    	at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[craftbukkit.jar:git-Spigot-1642]
    	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[craftbukkit.jar:git-Spigot-1642]
    	... 6 more
    Caused by: java.lang.ClassNotFoundException: com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[?:1.7.0]
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[?:1.7.0]
    	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.7.0]
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[?:1.7.0]
    	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[craftbukkit.jar:git-Spigot-1642]
    	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[craftbukkit.jar:git-Spigot-1642]
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:423) ~[?:1.7.0]
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ~[?:1.7.0]
    	at java.lang.Class.forName0(Native Method) ~[?:1.7.0]
    	at java.lang.Class.forName(Class.java:264) ~[?:1.7.0]
    	at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:64) ~[craftbukkit.jar:git-Spigot-1642]
    	at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:129) ~[craftbukkit.jar:git-Spigot-1642]
    	... 6 more

Discussions similaires

  1. Récupérer les données d’une page web et les incorporer dans un tableau
    Par miss_ana dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 26/05/2014, 11h16
  2. [PDF] Ouvrir des fichiers PDF dans page Web
    Par ludoweb dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 07/09/2006, 08h13
  3. [ActiveX] Message de sécurité dans page Web
    Par Mescalito dans le forum MFC
    Réponses: 3
    Dernier message: 21/02/2006, 16h15
  4. Pb activation module quicktime dans page web
    Par Adry dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 05/12/2005, 14h00

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