SOLVED Bug compilation mod avec sourves externes


  • Bonjour

    comme dis dans le titre je rencontre un bug de la part de gradlew quand je compile mon mod qui contient quelques “bibliothèque” externe a forge, comment résoudre ce bug ?

    voici les log:

    C:\Users\Killian\Desktop\forge 1.7.10>gradlew build


    Powered By MCP:
    http://mcp.ocean-labs.de/
    Searge, ProfMobius, Fesh0r,
    R4wk, ZeuX, IngisKahn, bspkrs
    MCP Data version : unknown


    :compileApiJava UP-TO-DATE
    :processApiResources UP-TO-DATE
    :apiClasses UP-TO-DATE
    :sourceMainJava UP-TO-DATE
    :compileJava
    warning: [options] bootstrap class path not set in conjunction with -source 1.6
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:17: error: package org.apache.commons.net.ftp does not exist
    import org.apache.commons.net.ftp.FTP;
                                    ^
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:18: error: package org.apache.commons.net.ftp does not exist
    import org.apache.commons.net.ftp.FTPClient;
                                    ^
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:20: error: package com.enterprisedt.net.ftp does not exist
    import com.enterprisedt.net.ftp.FileTransferClient;
                                  ^
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:21: error: package com.enterprisedt.util.debug does not exist
    import com.enterprisedt.util.debug.Logger;
                                     ^
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:23: warning: FtpClient is internal proprietary API and may be removed i
    n a future release
    import sun.net.ftp.FtpClient;
                     ^
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:24: warning: FtpClientProvider is internal proprietary API and may be r
    emoved in a future release
    import sun.net.ftp.FtpClientProvider;
                     ^
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:167: error: cannot find symbol
                       FTPClient ftpClient = new FTPClient();
                       ^
     symbol:   class FTPClient
     location: class ModForgeSao
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:167: error: cannot find symbol
                       FTPClient ftpClient = new FTPClient();
                                                 ^
     symbol:   class FTPClient
     location: class ModForgeSao
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:173: error: cannot find symbol
                           ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
                                                 ^
     symbol:   variable FTP
     location: class ModForgeSao
    Note: C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\gui\GuiCu
    stomMainMenu.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    7 errors
    3 warnings
    :compileJava FAILED

    FAILURE: Build failed with an exception.

    • What went wrong:
      Execution failed for task ‘:compileJava’.

    Compilation failed; see the compiler error output for details.

    • Try:
      Run with –stacktrace option to get the stack trace. Run with --info or --debug
      option to get more log output.

    BUILD FAILED

    Total time: 5.563 secs

    C:\Users\Killian\Desktop\forge 1.7.10>

  • Administrateurs Rédacteurs Moddeurs confirmés

    Il faut ajouter la bibliothèque dans les dépendances du build.
    Dans le fichier build.gradle il y a ça :

    dependencies {

    // you may put jars on which you depend on in ./libs
        // or you may define them like so…
        //compile “some.group:artifact:version:classifier”
        //compile “some.group:artifact:version”
          
        // real examples
        //compile ‘com.mod-buildcraft:buildcraft:6.0.8:dev’  // adds buildcraft to the dev env
        //compile ‘com.googlecode.efficient-java-matrix-library:ejml:0.24’ // adds ejml to the dev env

    // for more info…
        // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
        // http://www.gradle.org/docs/current/userguide/dependency_management.html

    }

    Tu as utilisé quelle bibliothèque ?


  • j’utilise commons-net et edtftp


  • C’est bizarre d’utiliser un accès ftp sur un mod, tu es conscient que n’importe qui peut dé-compiler ton mod et utiliser ton accès ftp comme il le veut ?


  • mon mod est destiné a quelque amis et le ftp est utiliser pour les mises a jours du mod


  • @‘Stevecraft’:

    mon mod est destiné a quelque amis et le ftp est utiliser pour les mises a jours du mod

    Je te conseille plutôt d’utiliser une interface web (comme avec php) pour télécharger les mises à jour, car ça reste tout de même dangereux.


  • l’accés ftp ne dispose que de droit en lecture


  • @‘Stevecraft’:

    l’accés ftp ne dispose que de droit en lecture

    Comme tu voudras, c’est pas mon mod de toute façon. Mais saches que si tu utilises une interface web, tu n’as pas besoin d’ajouter des librairies supplémentaires.


  • @‘robin4002’:

    Il faut ajouter la bibliothèque dans les dépendances du build.
    Dans le fichier build.gradle il y a ça :

    dependencies {

    // you may put jars on which you depend on in ./libs
        // or you may define them like so…
        //compile “some.group:artifact:version:classifier”
        //compile “some.group:artifact:version”
          
        // real examples
        //compile ‘com.mod-buildcraft:buildcraft:6.0.8:dev’  // adds buildcraft to the dev env
        //compile ‘com.googlecode.efficient-java-matrix-library:ejml:0.24’ // adds ejml to the dev env

    // for more info…
        // http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
        // http://www.gradle.org/docs/current/userguide/dependency_management.html

    }

    Tu as utilisé quelle bibliothèque ?

    donc comment je déclare mes dépendances

  • Administrateurs Rédacteurs Moddeurs confirmés

    En effet il aurait été beaucoup plus prudant de faire un site web et de télécharger via ce site.
    C’est ce que je fais pour nhg. Les mods sont ici, lorsque je commit un truc jenkins fait le build puis envoie les fichiers ici : http://dl.mcnanotech.fr/hungergames/installateur_dev/sync/mods/1.8/ ensuite l’installateur détecte le changement et les download.

    Normalement dans le build.gradle tu dois mettre ça dans la partie dependencies :
    compile ‘commons-net:commons-net:2.0’
    compile ‘edtftp:edtftp:1.2.1’

    D’après ce site : http://mvnrepository.com/artifact/commons-net/commons-net/2.0 , http://mvnrepository.com/artifact/edtftp/edtftp/1.2.1


  • il me met l’erreure suivante :

    C:\Users\Killian\Desktop\forge 1.7.10>gradlew build
    ****************************
    Powered By MCP:
    http://mcp.ocean-labs.de/
    Searge, ProfMobius, Fesh0r,
    R4wk, ZeuX, IngisKahn, bspkrs
    MCP Data version : unknown
    ****************************
    :compileApiJava UP-TO-DATE
    :processApiResources UP-TO-DATE
    :apiClasses UP-TO-DATE
    :sourceMainJava UP-TO-DATE
    :compileJava
    Download http://repo1.maven.org/maven2/commons-net/commons-net/2.0/commons-net-2
    .0.pom
    Download http://repo1.maven.org/maven2/org/apache/commons/commons-parent/11/comm
    ons-parent-11.pom
    Download http://repo1.maven.org/maven2/commons-net/commons-net/2.0/commons-net-2
    .0.jar
    warning: [options] bootstrap class path not set in conjunction with -source 1.6
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:20: error: cannot find symbol
    import com.enterprisedt.net.ftp.FileTransferClient;
                                  ^
     symbol:   class FileTransferClient
     location: package com.enterprisedt.net.ftp
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:21: error: package com.enterprisedt.util.debug does not exist
    import com.enterprisedt.util.debug.Logger;
                                     ^
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:23: warning: FtpClient is internal proprietary API and may be removed i
    n a future release
    import sun.net.ftp.FtpClient;
                     ^
    C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\common\ModForge
    Sao.java:24: warning: FtpClientProvider is internal proprietary API and may be r
    emoved in a future release
    import sun.net.ftp.FtpClientProvider;
                     ^
    Note: C:\Users\Killian\Desktop\forge 1.7.10\build\sources\java\mod\sao\gui\GuiCu
    stomMainMenu.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    2 errors
    3 warnings
    :compileJava FAILED
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':compileJava'.
    > Compilation failed; see the compiler error output for details.
    
    * Try:
    Run with –stacktrace option to get the stack trace. Run with --info or --debug
    option to get more log output.
    
    BUILD FAILED
    
    Total time: 24.078 secs
    
    C:\Users\Killian\Desktop\forge 1.7.10>
    

    j’utilise les version 3.3 pour commons-net et le version 2.4.0 pour edtftpj


  • Tu as oublié des librairies ou tu les as mal référencé.

    PS : pense à utiliser des spoiler.


  • le problème c’est qu’a part celle ci je n’en ai pas rajouté d’autres
    et je ne sais pas faire un spolier

  • Administrateurs Rédacteurs Moddeurs confirmés

    Ça ne sert à rien de copier 50x le même log …

    Could not GET ‘https://libraries.minecraft.net/edtftp/edtftp/2.4.0/edtftp-2.4.0.pom’. Received status code 403 from server: Forbidden

    Tu as mit quoi dans ton build.gradle ?
    Je t’ai dit de mettre ça :
    @‘robin4002’:

    compile ‘commons-net:commons-net:2.0’
    compile ‘edtftp:edtftp:1.2.1’

    Alors pourquoi tu mets du edtftp 2.4 ?!?


  • après avoir référencé les version correctes il me met toujours l’erreur:

    Could not resolve edtftp:edtftp2.4.0

  • Administrateurs Rédacteurs Moddeurs confirmés

    Envoie ton build.gradle, c’est pas normal.


  • @‘Stevecraft’:

    après avoir référencé les version correctes il me met toujours l’erreur:

    Could not resolve edtftp:edtftp2.4.0

    essaie avec çà plutôt : edtftp:edtftp:2.4.0



  • même en mettant edtftp:edtftp:2.4.0 (j’avait oublié les : ) ca fait le même bug


  • @‘Stevecraft’:

    même en mettant edtftp:edtftp:2.4.0 (j’avait oublié les : ) ca fait le même bug

    Je ne penses pas que le groupe soit edtftp, non ? le pattern c’est group:name:version