> Tech > Trouver le code Java compilé à  l’exécution

Trouver le code Java compilé à  l’exécution

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Quand vous exécutez le code Java, le système doit pouvoir trouver les fichiers de classes Java exécutables. Autrement dit, il doit connaître le chemin qui mène à  ces fichiers de classes. C'est la variable d'environnement CLASSPATH qui permet d'indiquer ce chemin au système.
Cette variable d'enregistrement peut être spécifiée de

Trouver le code Java compilé à  l’exécution

plusieurs manières
et nous verrons que, selon la
méthode choisie, le système l’utilisera
différemment quand il exécutera des
programmes Java. En général, vous
pouvez spécifier CLASSPATH dans CL,
dans le shell et dans des fichiers de
profils spéciaux.
Vous pouvez utiliser la commande
CL AddEnvVar (Add Environment
Variable) pour définir CLASSPATH au
niveau job ou système. Au niveau job,
la variable est définie pour la durée de
vie du job (ou jusqu’à  ce que vous la
remplaciez par une autre définition niveau
job) et elle est adaptée au job qui
émet la commande. En revanche, une
définition niveau système est globale
et s’applique à  tous les jobs présents
sur le système. Une telle définition sert
simplement de modèle de tris. Quand
un job démarre (par exemple, quand
un utilisateur se connecte), la définition
niveau système devient la définition
niveau job de ce job). Le paramètre
Level sur la commande
AddEnvVar vous permet d’indiquer si
la définition est au niveau job (*Job) ou
au niveau système (*Sys), le niveau job
étant la valeur par défaut. Voici un
exemple de commande AddEnvVar :

AddEnvVar EnvVar(CLASSPATH)
       Value(‘YourClassPath’)
      Level(*Job)
      Replace(*Yes)

Ici, YourClassPath est le chemin qui
conduit à  vos fichiers de classes Java
(/home/brian/classes, par exemple).
Vous pouvez spécifier des chemins
multiples en les séparant par un signe
deux-points. La JVM explore les chemins
dans l’ordre défini. Le paramètre
Replace détermine s’il faut, ou non,
remplacer la variable CLASSPATH dans
le cas où elle existerait déjà .
Outre AddEnvVar, vous pouvez utiliser
les commandes CL ChgEnvVar
(Change Environment Variable), Rmv-
EnvVar (Remove Environment Variable)
et WrkEnvVar (Work with Environment
Variables). On devine que
ChgEnvVar permet de changer une variable
d’environnement et RmvEnvVar
permet d’en supprimer une. Wrk-
EnvVar permet de voir les variables
d’environnement qui sont définies et
fournit un point central à  partir duquel
exécuter les tâches associées.
Vous pouvez aussi définir CLASSPATH
dans le shell chaque fois que
vous le démarrez. La commande QSH
pour définir le chemin est :

export CLASSPATH=YourClassPath

où YourClassPath est le chemin vers
vos fichiers de classes Java.
A l’aide des fichiers de profils spéciaux,
vous pouvez définir les variables
d’environnement par défaut au niveau
utilisateur et niveau système (comme
CLASSPATH) que le système définit automatiquement
quand le shell démarre.
Le fichier de profils niveau utilisateur
doit avoir le nom .profile
(comme le nom du fichier commence
par un point, c’est un fichier caché) et
il doit résider dans le répertoire home
de l’utilisateur (/home/brian, par
exemple). Le fichier de profils niveau
système doit avoir le nom profile (sans
point au début) et doit résider dans le
répertoire /etc. Après avoir créé ces fichiers,
chargez-les simplement avec les
variables d’environnement désirées.
Par exemple, pour ajouter un CLASSPATH
de /home/brian/classes quand il
n’y a pas déjà  une entrée pour CLASSPATH,
vous ajouterez cette entrée (remarque : taper une seule ligne sans
espaces) :

export CLASSPATH=$CLASSPATH :
      /home/brian/classes

Notez que nous avons spécifié
deux chemins d’accès séparés par un
signe deux-points. La valeur $CLASSPATH
est une valeur spéciale qui signifie
« quel que soit le chemin de classe
courant ». Nous avons ajouté cette entrée
pour éviter tout problème éventuel
avec une information de chemin
fournie par le système, qui pourrait
être déjà  en place. S’il existe déjà  une
entrée pour CLASSPATH, ajoutez simplement
le nouveau chemin d’accès
(/home/brian/classes, par exemple) à 
l’endroit approprié et utilisez des
signes deux-points pour séparer les
chemins.
Chacune des méthodes précédentes
pour définir CLASSPATH exige
que vous le fassiez avant d’exécuter le
programme Java. Dans la section suivante,
vous verrez que vous pouvez
aussi spécifier CLASSPATH quand vous
exécutez un programme Java en utilisant
la commande CL RunJva (Run Java
Program) ou la commande QSH Java.
L’ordre de priorité de la variable
d’environnement CLASSPATH dépend
de la commande qui invoque le programme
Java : commande CL RunJva
ou commande QSH java. L’ordre de
priorité avec la commande CL RunJva
est

  1. paramètre ClassPath sur la commande
    CL RunJva
    li> variable d’environnement définie
    par la commande CL AddEnvVar
    avec Level(*Job)

  2. variable d’environnement définie
    par la commande CL AddEnvVar
    avec Level(*Sys)

L’ordre de priorité avec la commande
QSH java est

  1. argument de la ligne de commande
    sur la commande QSH java

  2. variable d’environnement définie
    dans le fichier de profils niveau utilisateur

  3. variable d’environnement définie
    dans le fichier de profils niveau système

  4. variable d’environnement définie
    par la commande CL AddEnvVar
    avec Level(*Job)

  5. variable d’environnement définie
    par la commande CL AddEnvVar
    avec Level(*Sys)

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010