Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

System.getenv "re-precated"?

3 réponses
Avatar
flipouk
Dans la doc de l'API J2SE 1.4.2
(http://java.sun.com/j2se/1.4.2/docs/api/), la méthode
java.lang.System.getenv(String) est marquée comme deprecated. Par contre
dans la doc pour java5 (http://java.sun.com/j2se/1.5.0/docs/api/), elle
ne l'est plus...

Comme je n'ai pas réussi à trouver une autre méthode pour avoir accès
aux variable d'environnement (comme $CATALINA_HOME ou $SHELL), je suis
rassuré que la méthode ne soit plus deprecated.

Néanmoins, j'aimerais comprendre pourquoi une méthode qui était
deprecated ne l'est plus et comment faire autrement éventuellement pour
accéder aux env. var.

Merci pour vos pistes et commentaires,

F.

3 réponses

Avatar
flipouk
flipouk wrote:
Dans la doc de l'API J2SE 1.4.2
(http://java.sun.com/j2se/1.4.2/docs/api/), la méthode
java.lang.System.getenv(String) est marquée comme deprecated. Par contre
dans la doc pour java5 (http://java.sun.com/j2se/1.5.0/docs/api/), elle
ne l'est plus...

Comme je n'ai pas réussi à trouver une autre méthode pour avoir accès
aux variable d'environnement (comme $CATALINA_HOME ou $SHELL), je suis
rassuré que la méthode ne soit plus deprecated.

Néanmoins, j'aimerais comprendre pourquoi une méthode qui était
deprecated ne l'est plus et comment faire autrement éventuellement pour
accéder aux env. var.

Merci pour vos pistes et commentaires,

F.
Je me réponds à moi-même :

J'ai trouvé sur Google, ce thread étonnant qui s'étend de avril 1998 à
novembre 2004 (!):
http://groups.google.co.uk/groups?hl=en&lr=&client=firefox-a&rls=org.mozilla:en-US:official&threadm=cnsb9a%24dlj%241%40newstree.wise.edt.ericsson.se&rnum=4&prev=/groups%3Fq%3Djava%2Bgetenv%2Bdeprecated%26hl%3Den%26lr%3D%26client%3Dfirefox-a%26rls%3Dorg.mozilla:en-US:official%26sa%3DN%26scoring%3Dd
Un très bon thread sur la question.
Pour résumer : SUN a décidé de "dé-deprecater" java.lang.System.getenv()
car c'est finalement très utile.
En tout cas ca l'est pour moi : si je veux voir accès depuis une applet
à une ressource dans ma webapp, comment je fais sans getenv() ? En
effet, les ressources (par ex, un fichier de properties) qui ne sont pas
dans ../webapps/WEB-INF/classes ne sont par définition pas dans le
classpath, donc inaccessibles par getResource().
D'après ce que je comprends, getenv() était découragé car les OS Mac
pre-OSX n'avait pas le concept de variable d'environnement, donc
problème de portabilité. Bon, je vivrais bien sans cela, si je concois
parfaitement de déployer un jour sous OSX (qui est finalement un autre
Unix), ca ne me serait jamais venu à l'idée de déployer sur MacOS-preX
(d'ailleurs, est-ce que Tomcat tourne seulement sur ces machines).
F.

Avatar
Zouplaz
flipouk - :

J'ai trouvé sur Google, ce thread étonnant qui s'étend de avril 1998 à
novembre 2004 (!):


Heu, je crois que google s'est emmelé les pinceaux... Ca arrive souvent
dans les groupes. Celui-ci est constitué de deux fils différents (un de
1998 et un de 2004)

Avatar
flipouk
Zouplaz wrote:
flipouk - :


J'ai trouvé sur Google, ce thread étonnant qui s'étend de avril 1998 à
novembre 2004 (!):



Heu, je crois que google s'est emmelé les pinceaux... Ca arrive souvent
dans les groupes. Celui-ci est constitué de deux fils différents (un de
1998 et un de 2004)
Je ne disais aussi ... :)


--
,_,
(O,O) Plus je connais les hommes,
( ) Plus j'aime ma machine
-"-"----------------------------------------------
Flipouk. GNU/Linux, MacOSX et Java : même combat !
--------------------------------------------------