避免使用無效的起始環境定義 java:/comp

此規則會標示 Java 檔或 XML 檔中開頭是 java:/comp 的任何字串文字。 這個字串通常代表一個命名環境定義查閱。 Java EE 規格會將查閱字串定義為 java:comp,且 comp 之前沒有正斜線 (/)。 不過,Apache Tomcat 可接受不標準的字串。

原始檔掃描器中提供了此規則的 Java 快速修正程式。此規則的快速修正程式會移除字串中的 /。

舉例來說,請考量下列程式碼 Snippet,其中包含額外的正斜線。

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 程式碼 Snippet。

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

快速修正程式會移除正斜線,並將程式碼更新為:

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