此规则会标记以以下字符开头的任何字符串文字:
java:/comp
在 Java 文件或 XML 文件中。
此字符串通常表示命名上下文查询。
Java EE 规范将查找字符串定义为
java:comp
没有前置正斜杠 (/)
comp
我不知道
但是, Apache Tomcat 允许不合规的字符串。
自动修复该规则时,将删除字符串中的 /。
例如,请考虑以下包含额外正斜杠的代码段。
private static String final SOME_LOOKUP_NAME = "java:/comp/env/someValue";
String anEnvValue = (String) initialContext.lookup("java:/comp/myEnvString");
自动修复将删除正斜线,并将代码更新为
private static String final SOME_LOOKUP_NAME = "java:comp/env/someValue";
String anEnvValue = (String) initialContext.lookup("java:comp/myEnvString");
如果文件中有字符串的多个实例,那么 XML 规则仅标记该字符串的第一个实例。 XML 自动修复将更改文件中问题字符串的所有实例。
例如,请考虑以下 XML 代码段。
<PROPERTY key="LookupName" value="java:/comp/env/someValue"/>
自动修复将删除正斜线,并将代码更新为
<PROPERTY key="LookupName" value="java:comp/env/someValue"/>