Java 7 ou java 8 pour coder?!



  • Bonjour, j'aimerais coder des mods principalement mais aussi des plugins pour mon serveur Craftbukkit mais je ne sais pas quel version de Java favoriser (pour le Java de base et JDK). Actuellement je possède Java 8 mais je peut facilement le désinstallé et passé à Java 7. Merci de votre réponse par avance. 🙂

    PS: Il me semble que java 8 a quelque problème avec Minecraft.


  • Administrateurs

    Salut,
    Minecraft n'a aucun problème avec Java 8. Ce sont les anciennes versions de Forge qui ont un problème avec, les versions récentes ne l'ont pas et les vieilles versions de forge peuvent quand même fonctionner grâce au mod legacy-fixer.
    Tu peux prendre n'importe quelle version, de toute façon ce qui va faire la différence c'est la version que tu vas spécifier lors de la création de ton projet. Si tu as Java 8 et que tu mets Java 6, les personnes ayant Java 6 pourront faire fonctionner ton plugins (bien sûr il ne faut pas utiliser des fonctionnalités de Java 7 ou 8). Concernant les mods, l'action gradlew build met déjà la compatibilité vers Java 6.

    Et il est conseillé de garder Java 6 pour la version du projet car Minecraft supporte toujours Java 6 (et si tu mets le 7 ou le 8 en version minimum tu risque de te retrouver avec des utilisateurs d'OS X qui ont des problèmes).

    Comme dit juste avant, tu peux très bien avoir Java 8 et faire des projets compatible Java 6, pas besoin d'avoir Java 6 ou 7 (et de toute façon pour des raisons de sécurité il n'est pas recommandé d'utiliser ces anciennes versions).



  • Je code avec le JDK 6 pour garantir la compatibilité de ceux qui ne mettent pas a jour leur Java.
    Par contre, tu peux lancer Minecraft avec n'importe quelle version de Java > 1.4 il me semble.
    Donc pour jouer -> Java 7 ou 8



  • Merci pour vos rapides réponses, je garderais Java 8 mais je ferais des projets en Java 6 pour évité les problèmes. Par contre le JDK à besoin d'être à la version de Java qui est installer sur mon ordinateur (Java 😎 ou à Java 6 ?



  • Oracle propose une suite d'outils qui te permettent de développer en Java, c'est le JDK et un environnement d'exécution qui te permet de lancer des programmes compilés en Java sur une JVM, c'est le JRE.

    Dans le JDK, tu trouves un compilateur, un débuggueur, l'outils pour générer de la Javadoc etc…
    Dans le JRE, tu trouve grosso-modo la JVM.

    Mais les 2 sont indépendants, tu n'as pas besoin d'avoir le JRE et le JDK de la même version.

    Dans le cas ou tu codes sur un JDK < JRE :
    Si tu codes en utilisant des fonctions obsolètes (deprecated), il est possible que les version de Java plus récente ne supporte plus cette fonction.

    Dans le cas ou tu codes sur un JDK > JRE :
    Si tu utilises des nouvelles fonctionnalités qui n'existaient pas lors de la version du JRE, forcément ça plante 😉
    Par exemple :

    ​ArrayList <integer>= new ArrayList<>(); //Java 7
    ArrayList <integer>= new ArrayList<integer>(); // Java 6 mais aussi supporté par Java 7
    

    Si tu codes en utilisant la notation Java 7 mais que l'utilisateur lance le jeu avec Java 6, ça va planter.</integer></integer></integer>



  • Donc vaut mieux utilisé le JDK 6 ou le JDK 8 ?



  • JDK 6 😉



  • Merci beaucoup. Il y a juste un dernier problème je trouve pas le JDK 6 sur le site de Oracle.
    EDIT: je viens de trouvé où télécharger le JDK 6, il se trouver dans les archives de Oracle. Merci quand même. 🙂