Lorsque vous ajoutez un nouveau projet Java™ à l'application, vous spécifiez le nom du projet, accédez au répertoire de travail, puis spécifiez les racines source et les dépendances du projet.
Pourquoi et quand exécuter cette tâche
Les étapes décrites dans cette rubrique vous indiquent comment renseigner toutes les pages de l'assistant Nouveau projet (ou de l'assistant Nouvelle application, si vous créez le projet dans celui-ci). Toutefois, certaines pages de l'assistant sont facultatives (les paramètres requis sont définis une fois le bouton Terminé activé). Les paramètres définis dans l'assistant peuvent être modifiés après la création du projet dans la vue Propriétés d'un projet sélectionné. Si vous terminez l’exécution de l’assistant Nouveau projet sans remplir les pages facultatives, vous pourrez modifier ultérieurement les paramètres contenus dans ces pages dans la vue Propriétés.
Procédure
-
Depuis la vue Explorateur, sélectionnez l'application à laquelle ajouter le projet (si vous n'avez pas encore ajouté d'application, reportez-vous à la rubrique Configuration d'applications).
-
Effectuez l'une des actions suivantes pour ouvrir l'assistant Nouveau projet :
-
Sélectionnez dans le menu principal du plan de travail.
-
Cliquez avec le bouton droit de la souris sur l'application concernée et choisissez dans le menu contextuel.
- Depuis la page Sélectionnez le type de projet de l’assistant, sélectionnez Java/JSP comme type de projet et cliquez sur Suivant pour accéder à la page suivante de l’assistant.
- Depuis la page de l'assistant Sources de projet :
- Identifiez les sources de projet qui sont constituées par les répertoires dans lesquels sont situés les fichiers de projet et les fichiers individuels supplémentaires à inclure dans le projet.
Attribuez un nom au projet et spécifiez le répertoire de travail. Le répertoire de travail désigne l'emplacement du fichier de projet AppScan® Source (.ppf) et constitue la base de tous les chemins relatifs à celui-ci.
- Ajoutez manuellement les racines source ou autorisez AppScan® Source for Analysis à identifier automatiquement les racines source valides.
Important :
- Pour analyser les fichiers de classe Java™, ceux-ci doivent être compilés avec
javac
en utilisant l'argument -g
. L'analyse AppScan® Source repose sur les informations de débogage générées par cette option.
- Si votre projet contient des fichiers source Java™ incluant des caractères de langue nationale et que vous exécutez un environnement local différent de l'environnement local natif (par exemple, UTF-8), l'examen échouera avec des erreurs et/ou des avertissements sur la console.
- Pour détecter automatiquement les racines source, procédez comme suit :
- Cliquez sur Rechercher des racines source et accédez au répertoire racine du code source.
- Dans la liste de toutes les racines source détectées, sélectionnez celles à ajouter au projet.
- Cliquez sur OK. Les sources à inclure à l’examen apparaissent dans la boîte de dialogue Sources de projet.
- Pour détecter manuellement les racines source, procédez comme suit :
- Cliquez sur Ajouter une racine source.
- Sélectionnez le répertoire racine du code source ou le fichier.
- Cliquez sur OK. Après l'ajout de la racine source, vous pouvez en exclure certains répertoires ou fichiers. Pour ce faire, sélectionnez le répertoire ou le fichier (pu plusieurs de ces éléments), effectuez un clic avec le bouton droit de la souris sur votre sélection, puis sélectionnez Exclure dans le menu. Si vous incluez ou excluez des fichiers, l’icône à gauche du nom de fichier changera.
Cliquez sur Terminer pour ajouter le projet sans définir de dépendances de projet ou sur Suivant pour identifier celles-ci.
- Depuis la page Dépendances de projet JSP :
- Identifiez les dépendances de projet JSP (JavaServer Pages) : Pour les projets Java™ contenant des pages JavaServer Pages, identifiez les dépendances de projet JSP. Cochez la case Contient un contenu Web (JSP) si le projet est une application Web comportant des pages JavaServer Pages.
- Sélectionnez manuellement la Racine de contexte Web ou cliquez sur Rechercher pour la localiser. La Racine de contexte Web est un fichier WAR ou un répertoire hébergeant le répertoire WEB-INF. La racine de contexte Web doit être la racine d'une application Web valide.
-
Sélectionnez le Compilateur JSP pour le projet. Prêt à l'emploi, Tomcat 9 est le compilateur JSP sélectionné par défaut (il est possible d'en changer sur la page de préférences Java™ et JSP). Pour en savoir plus sur les compilateurs pris en charge par AppScan® Source, voir Configuration requise et composants prérequis pour l'installation.
Les versions d'Apache Tomcat versions 8 et 9 sont incluses dans l'installation d'AppScan® Source. Si les pages de préférences Tomcat 8 et Tomcat 9 ne sont pas configurées, AppScan® Source compile les fichiers JSP à l'aide du compilateur JSP Tomcat fourni et indiqué comme valeur par défaut. Si vous souhaitez employer un compilateur Tomcat externe pris en charge, utilisez les pages de préférences Tomcat pour pointer sur votre installation Tomcat locale.
Si vous utilisez Oracle WebLogic Server ou WebSphere® Serveur d'applications, vous devez configurer la page de préférences correspondante, le but étant de désigner votre installation locale du serveur d'applications afin qu'elle puisse être utilisée pour la compilation du code JSP durant l'analyse. Si vous n'avez pas encore terminé cette configuration, un message vous demandera de la faire lorsque vous sélectionnerez le compilateur JSP. Si vous répondez Oui au message, la page de préférences appropriée s'affiche. Si vous répondez Non, un lien d'avertissement s'affiche à côté de la sélection du compilateur JSP (ce lien permet d'ouvrir la page de préférences).
Cliquez sur Terminer pour ajouter le projet avec les dépendances de projet JSP ou sur Suivant pour identifier les dépendances de projet Java™.
- Dans la page Dépendances de projet Java™, identifiez les dépendances requises pour la construction de ce projet Java™ :
- Ajoutez manuellement les fichiers JAR ou cliquez sur Rechercher afin que AppScan® Source for Analysis recherche lui-même les répertoires contenant les fichiers JAR et les fichiers de classe dépendants.
La liste Chemin de classes affiche le chemin d'accès relatif au projet. Le chemin de classes doit spécifier les fichiers JAR requis et les répertoires contenant les fichiers de classe requis par le projet.
- Ajouter, Supprimer, Déplacer vers le haut et Déplacer vers le bas : ajoutez ou supprimez des fichiers au chemin de classes, ou modifiez leur ordre en les déplaçant vers le haut ou vers leur bas.
- Rechercher : recherchez des entrées JAR et des entrées de chemin de classe basées sur les fichiers source du projet.
Important : Si le projet Java™ comporte des pages JavaServer Pages, vous devez ajouter des dépendances de projet JSP.
- Pour identifier manuellement les dépendances de projet, procédez comme suit :
- Cliquez sur Ajouter dans la barre d'outils de la section Chemin d'accès aux classes et sélectionnez les fichiers JAR et les répertoires de fichiers de classes requis pour compiler le projet Java™.
- Cliquez sur OK. Les fichiers JAR et les répertoires apparaissent dans le chemin de classes. Modifiez l’ordre si nécessaire.
- Pour identifier automatiquement les dépendances, procédez comme suit
- Cliquez sur Rechercher dans la barre d'outils de la section Chemin d'accès aux classes.
- Spécifiez les répertoires dans lesquels chercher les fichiers JAR et les fichiers de classe nécessaires pour compiler le projet Java™.
- Cochez la case Rechercher à l'intérieur des fichiers source et JAR si vous souhaitez que AppScan® Source for Analysis recherche les dépendances de projet requises en fonction des sources et du chemin de recherche indiqué.
- Cliquez sur Suivant pour rechercher les dépendances de projet et identifier les conflits.
- Pour résoudre les conflits, procédez comme suit :
- Si des conflits existent, sélectionnez dans la boîte de dialogue Résolution de conflits l'entrée à résoudre et cliquez sur Résoudre (ou cliquez sur Suivant pour résoudre automatiquement les conflits). Un conflit est présent lorsque AppScan® Source for Analysis détecte plusieurs fichiers JAR ou classes faisant l'objet de la dépendance dans un répertoire.
Une icône rouge apparaît à la gauche des conflits non résolus. Une fois les conflits résolus, l'icône rouge passe au vert indiquant que l'élément concerné est résolu. Vous pouvez également supprimer un conflit.
- Après avoir résolu ou supprimé un conflit, vous pouvez le cas échéant vérifier, modifier l'ordre ou supprimer les entrées concernées du chemin de classes. Prenez note de la liste des importations introuvables. Toutes les importations non résolues génèrent des erreurs de compilation lors de l'examen par AppScan® Source for Analysis.
- Options : spécifiez tout paramètre de compilation supplémentaire requis du projet.
Les options de compilation sont celles qui sont transmises au compilateur pour permettre la compilation des fichiers source. Par exemple, -source 1.5
indique le niveau de la source du projet.
-
Utiliser le kit JDK : indiquez le kit JDK (Java™ Development Kit) à utiliser lors de l'examen de ce code. AdoptOpenJDK 11 est utilisé par défaut. AppScan® Source propose également JDK 1.8 (64 bits) en sélection. Pour définir d'autres kits JDK ou définir un autre kit JDK par défaut, utilisez les Préférences Java/JSP. Si un autre JDK est spécifié, il doit être de 64 bits.
Remarque : Prêt à l'emploi, le compilateur par défaut des projets JSP est Tomcat 9, qui requiert Java™ version 1.8 ou version ultérieure. Si Tomcat 8 est conservé par défaut et que vous sélectionnez un JDK plus ancien, des erreurs de compilation seront générées pendant les examens.
- L'action Valider garantit que les dépendances du projet soient correctement configurées. Elle vérifie l'absence dans les projets Java™ de conflits de configuration entre les sources et le chemin de classes et vérifie également l'absence d'erreurs de compilation. Un conflit existe si une classe du chemin de classes est dupliquée dans la racine source.
Si un conflit existe, la zone du texte de validation indique le fichier JAR ou l'emplacement où la classe est définie sur le chemin de classes et si le doublon existe dans les sources. Supprimez le conflit du chemin de classes et exécutez à nouveau la vérification.
Après la vérification de l'absence de conflits, l'option Valider détermine si le projet peut être compilé et rend compte des erreurs de compilation éventuelles.
- Classes précompilées : cette zone vous permet d'utiliser des fichiers de classe Java ou JSP précompilés au lieu de la compilation pendant un examen.
- Déployer pour pré-traitement les fichiers source pour minimiser les effets d'erreur de compilation : décochez cette case si la compilation de votre code source s'effectue correctement et si celui-ci est organisé comme il se doit dans les répertoires correspondant aux packages.
- Corriger pour les packages non conformes à la structure de répertoire : sélectionnez cette option si les packages ne correspondent pas à la structure des répertoires.
- Nettoyer la zone de préparation entre chaque examen : option d’optimisation.
- Cliquez sur Terminer.
Résultats
Conseil :
Si vous examinez Java et qu'il manque des dépendances dans votre projet Java,
AppScan® Source crée des traces en synthétisant les éléments que les dépendances auraient fournis. Cette synthèse ne reflète peut-être pas exactement les informations qui figurent dans les fichiers
.jar. Pour limiter cette synthèse et par conséquent améliorer l'exactitude des constatations, vous pouvez spécifier les dépendances manquantes de la façon suivante :
- Après l'analyse, ouvrez <data_dir>\logs\StaticAnalyzer-Errors.log(où <data_dir> est l'emplacement de vos données de programme AppScan® Source, comme décrit dans Emplacements des fichiers de données utilisateur et des fichiers d'installation) pour voir si AppScan® Source a signalé des dépendances manquantes.
- Modifiez les propriétés du projet afin d'inclure les dépendances. Pour ce faire, suivez les instructions figurant dans la rubrique Modification des propriétés d'une application et d'un projet, puis spécifiez et sauvegardez les dépendances dans l'onglet Dépendances de projet JSP ou Dépendances de projet.
- Réexaminez le projet.
Remarque :
Par défaut,
AppScan® Source examine les fichiers Java et le bytecode Java en recherchant les dépendances manquantes ou les erreurs de compilation. Vous pouvez modifier ces paramètres de la façon suivante :
- Ouvrez <data_dir>\config\scan.ozsettings dans l'éditeur de texte.
- Pour modifier le paramètre d'erreur de compilation, recherchez
compile_java_sources_with_errors
dans le fichier. Ce paramètre est similaire à ce qui suit :<Setting
name="compile_java_sources_with_errors"
value="true"
default_value="true"
type="bool"
hidden="true"
display_name="compile_java_sources_with_errors"
description="Attempt to scan java code with compilation errors."
/>
- Pour modifier le paramètre de dépendance manquante, recherchez
scan_without_dependency_jar
dans le fichier. Ce paramètre est similaire à ce qui suit :<Setting
name="scan_without_dependency_jar"
value="true"
default_value="true"
type="bool"
hidden="true"
display_name="scan_without_dependency_jar"
description="Scans Java bytecode even when some of
the dependencies are missing by artificially
synthesizing the unresolved symbols."
/>
- Dans le paramètre, modifiez l'attribut
value
. Si l'attribut est défini sur la valeur true
, ce paramètre sera activé. Si le paramètre d'erreur de compilation est défini sur la valeur false
, AppScan® Source ignorera le code Java présentant des erreurs de compilation au cours des examens. Si le paramètre de dépendance manquante est défini sur la valeur false
, AppScan® Source n'examinera pas le bytecode Java si des dépendances sont manquantes.
- Après avoir modifié ce paramètre, sauvegardez le fichier, puis démarrez ou redémarrez AppScan® Source.