此规则会标记 Java 文件或 XML 文件中任何以 java:/comp 开头的字符串字面值。 此字符串通常表示命名上下文查询。 Java EE 规范将查询字符串定义为 java:comp,comp 前面不带正斜杠 (/)。 但是,Apache Tomcat 允许使用不兼容的字符串。
在源扫描程序中提供了针对此规则的 Java 快速修订。针对此规则的快速修订会从字符串中移除 /。
例如,请考虑以下包含额外正斜杠的代码段。
|
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 快速修订会更改文件中问题字符串的所有实例。
例如,请考虑以下 XML 代码段。
| <PROPERTY key="LookupName" value="java:/comp/env/someValue"/> |
该快速修订会移除正斜杠,并将代码更新为:
| <PROPERTY key="LookupName" value="java:comp/env/someValue"/> |