Vyvarovat se použití neplatného počátečního kontextu java:/comp

Toto pravidlo označí libovolný řetězcový literál, který se spouští s java:/comp v souborech Java nebo XML. Tento řetězec obvykle představuje vyhledání kontextu pojmenovávání. Specifikace Java EE definuje vyhledávací řetězec jako java:comp bez dopředného lomítka (/) před comp. Server Apache Tomcat však povoluje nevyhovující řetězec.

Rychlá oprava Java pro toto pravidlo je k dispozici ve zdrojovém skeneru. Rychlá oprava pro toto pravidlo odebere / z řetězce.

Předpokládejme například následující úsek kódu, který obsahuje přebytečné dopředné lomítko.

private static String final SOME_LOOKUP_NAME = "java:/comp/env/someValue";
String anEnvValue = (String) initialContext.lookup("java:/comp/myEnvString");

Rychlá oprava odebere dopředné lomítko a aktualizuje kód na:

private static String final SOME_LOOKUP_NAME = "java:comp/env/someValue";
String anEnvValue = (String) initialContext.lookup("java:comp/myEnvString");

Pravidlo XML označí příznakem pouze první instanci řetězce v souboru, pokud existuje více souborů. Ve zdrojovém skeneru je k dispozici rychlá oprava XML. Rychlá oprava XML změní všechny instance problémového řetězce v souboru.

Například zvažte následující úsek kódu XML.

<PROPERTY key="LookupName" value="java:/comp/env/someValue"/>

Rychlá oprava odebere dopředné lomítko a aktualizuje kód na:

<PROPERTY key="LookupName" value="java:comp/env/someValue"/>