Re: [Cantharella-devel] Conventions de codage - Cantharella
Pour terminer sur le sujet du passage de la JDK à la v.7, le compilateur rajoute davantage de warnings du style :
Some input files use unchecked or unsafe operations.
J'avais par exemple deux warnings qui n'était pas détectés avec le JDK 6 dans la classe AssertTools de cantharella.utils En recompilant avec l'option -Xlint:uncheked pour avoir davantage de détails, encore d'autres avertissements sont apparus sur la classe BeanTools, et ils comportaient tous le message suivant :
|[unchecked] Possible heap pollution from parameterized vararg type T|
public static <T> void addToList (List<T> listArg, T... elements) { ... Il semblerait en effet que des erreurs à l'exécution peuvent se produire
L'explication est que depuis Java 7, le compilateur avertit lorsqu'il détecte des arguments paramétrés de méthode qui sont des "varargs", comme on peut le voir dans l'exemple suivant : pour certains cas extrêmes où il y a affectation d'un élément de la "varargs" à une liste d'un autre type. La solution pour éviter ces warnings est que le développeur certifie la bonne exécution du code avec l'annotation @SafeVarargs. On peut également utilisé l'annotation @SuppressWarnings({"unchecked", "varargs"}) mais cette dernière laissera tout de même un warning à l'exécution. Pour plus de détails, cf. http://docs.oracle.com/javase/7/docs/technotes/guides/language/non-reifiable... Le 20/02/2013 09:47, Adrien Cheype a écrit :
Ok, à notre niveau cela ne semble pas poser de problème.
Et juste pour info, Cantharella est hébergé actuellement en production sur un serveur virtuel où il y a Tomcat 7 et Java 6 d'installé. Nous passerons donc à Tomcat 7 et Java 7, tout en continuant d'utiliser le standard Servlet 2.5.
Le 19/02/2013 20:08, Mickaël Tricot a écrit :
Tant mieux ! :) Je crois avoir lu que certains ont eu des problèmes à faire tourner Tomcat 6 + Java 7, mais ce sont peut-être des problèmes spécifiques à leur infrastructure ou applications.
2013/2/18 Eric Chatellier <chatellier@codelutin.com <mailto:chatellier@codelutin.com>>
Il n'y a pas de rapport entre Java 7 et Tomcat 7.
Tomcat 7, impose une JRE 6 ou supérieur et peut faire tourner des servlet 2.5 (voire avant).
Les servlet 3.0 sont d'ailleurs inclut dans la norme JEE 6 et non JSE 7.
_______________________________________________ Cantharella-devel mailing list Cantharella-devel@list.forge.codelutin.com http://list.forge.codelutin.com/cgi-bin/mailman/listinfo/cantharella-devel
-- Adrien Cheype Ingénieur en Systèmes d'Information Service « Informatique Scientifique et Appui aux Partenaires du Sud » Direction du Système d'Information (DSI) http://www.ird.fr/dsi/ http://www.ird.fr/informatique-scientifique/
INSTITUT DE RECHERCHE POUR LE DEVELOPPEMENT BP A5 - 98848 Nouméa - Nouvelle Calédonie Tél. +687 260 789
-- Adrien Cheype Ingénieur en Systèmes d'Information Service « Informatique Scientifique et Appui aux Partenaires du Sud » Direction du Système d'Information (DSI) http://www.ird.fr/dsi/ http://www.ird.fr/informatique-scientifique/ INSTITUT DE RECHERCHE POUR LE DEVELOPPEMENT BP A5 - 98848 Nouméa - Nouvelle Calédonie Tél. +687 260 789
participants (1)
-
Adrien Cheype