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

Toto pravidlo značí libovolný řetězcový literál, který začíná na java:/comp v souborech Java nebo v souborech 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 . Avšak Apache Tomcat umožňuje nevyhovující řetězec.

Při automatické opravě tohoto pravidla se z řetězce odstraní znak /.

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");

Automatická oprava odstraní lomítko vpřed 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ů. Automatická oprava XML změní všechny výskyty 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"/>

Automatická oprava odstraní lomítko vpřed a aktualizuje kód na:

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