1 提示:Type is missing a javadoc commentClass
說明:缺少類型說明
解決方法:增加javadoc說明
2 提示:“{” should be on the previous line
說明:“{”應該位于前一行。
解決方法:把“{”放到上一行去
3 提示:Methos is missing a javadoc comment
說明:方法前面缺少javadoc注釋。
解決方法:添加javadoc注釋
4 提示: Expected @throws tag for“Exception”
說明:在注釋中希望有@throws的說明
解決方法:在方法前得注釋中添加這樣一行:* @throws Exception if has error(異常說明)
5 提示:“.” Is preceeded with whitespace
說明: “.” 前面不能有空格。
解決方法:把“.”前面的空格去掉
6 提示:“.” Is followed by whitespace
說明:“.” 后面不能有空格。
解決方法:把“.”后面的空格去掉
7 提示:“=” is not preceeded with whitespace
說明:“=” 前面缺少空格。
解決方法:在“=”前面加個空格
8 提示:“=” is not followed with whitespace
說明:“=” 后面缺少空格。
解決方法:在“=”后面加個空格
9 提示:“}” should be on the same line
說明:“}” 應該與下條語句位于同一行。
解決方法:把“}”放到下一行的前面
10 提示:Unused @param tag for “unused”
說明:沒有參數“unused”,不需注釋
解決方法:“* @param unusedparameter additional(參數名稱)” 把這行unused參數的注釋去掉“
11 提示: Variable “CA” missingjavadoc
說明:變量“CA”缺少javadoc注釋
解決方法:在“CA“變量前添加javadoc注釋:/** CA. */(注意:一定記得加上CA后面的“.”)
12 提示: Line longer than 80characters
說明:行長度超過80 。
解決方法:把它分成多行寫。必要時候,可以ctrl+shift+f
13 提示:Line contains a tab character
說明:行含有”tab” 字符。
14 提示:Redundant “Public” modifier
說明:冗余的“public” modifier 。
解決方法:冗余的“public”
15 提示:Final modifier out of order with the JSL suggestion
說明:Final modifier的順序錯誤
16 提示: Avoid using the “.*” formof import
說明:Import格式避免使用“.*”
17 提示:Redundant import from the same package
說明:從同一個包中Import內容
18 提示: Unusedimport-java.util.list
說明:Import導入進來的java.util.list沒有被使用。
解決方法:去掉導入的多余的類
19 提示:Duplicate import to line 13
說明:重復Import同一個內容
解決方法:去掉導入的多余的類
20 提示: Import from illegalpackage
說明:從非法包中 Import內容
21 提示:“while” construct must use “{}”
說明:“while” 語句缺少“{}”
22 提示: Variable “sTest1” must beprivate and have accessor method
說明:變量“sTest1”應該是private的,并且有調用它的方法
23 提示: Variable “ABC” must matchpattern “^[a-z][a-zA-Z0-9]*$”
說明:變量“ABC”不符合命名規則“^[a-z][a-zA-Z0-9]*$”
解決方法:把這個命名改成符合規則的命名 “aBC”
24 提示:“(” is followed by whitespace “)”is proceeded by whitespace
說明:“(” 后面不能有空格 “)” 前面不能有空格
解決方法:把前面或者后面的空格去掉
25 提示:First sentence should end with a period.
解決方法:你的注釋的第一行文字結束應該加上一個"."。
26提示: Redundant throws:'NameNotFoundException' is subclass of 'NamingException'.
說明:'NameNotFoundException '是'NamingException'的子類重復拋出異常。
解決方法:如果拋出兩個異常,一個異常類是另一個的子類,那么只需要寫父類
去掉NameNotFoundException異常,對應的javadoc注釋異常注釋說明也需要去掉
27 提示: Parameter docType should be final.
說明: 參數docType應該為final類型
解決方法:在參數docType前面加個final
28 提示: Line has trailing spaces.
說明:多余的空行
解決方法:去掉這行空行
29 提示: Must have at least onestatement.
說明: 至少有一個聲明
解決方法:try{}catch(){}中的異常捕捉里面不能為空,在異常里面加一句話。如打印等
30 提示:'>' is not followed by whitespace.并且又有 '('is preceded with whitespace.
說明:定義集合和枚舉的時候的時候,最后一個“>”后面要有空格,“(”前面不容許有空格。
解決方法:去掉泛型(通常是泛型的地方容易出這個問題)
31 提示:Got an exception - java.lang.RuntimeException: Unable to get classinformation for @throws tag 'SystemException'.
說明:不合理的throws。
解決方法:要確保某些類型,如某些類、接口不被throws。把聲明的異常去掉。在實現類中拋出異常
網上參考解決方法:1、這是CheckStyle報的錯。通常需要Refreh, clean/build這個Project.如果不行,可以嘗試clean all projects, restart Eclipse.
2、因為編譯好的類沒有在checkstyle的classpath中.所以, 只要將編譯好的class配置到在<checkstyle/>的classpath中就沒有這個問題了.另外, 還發現checkstyle的line length好像也有點問題, 明明沒有超過120個字符, 卻還是報錯.無奈, 我把Eclipse中java> code style > formatter中的Maximumline with改成了100, 然后format一下, 基本就沒有問題了
32 提示: File does not end with anewline.
解決方法:刪掉報錯的類,新建一個同名的類,把代碼全部復制過去
33 提示:Utility classes should not have a public or default constructor.
說明: 接口中的內部類中不應該有公共的或者默認的構造方法
解決方法:在內部類中,定義一個私有的構造方法,然后內部類聲明為final類型。如果前面有static,那么final還必須放在static之后
34 提示:Variable 'functionCode' must be private and have accessor methods
說明:.變量要改成private然后提供訪問的方法
解決方法:給這些變量的修飾符改成private,然后提供set,get方法,并加上對應的方法javadoc注釋、參數注釋。并在返回值和參數類型前添加final。并把調用了這個變量的地方改成通過方法訪問
35 提示: 'X' hides a field.
說明:全局private int X;和局部publicFoo(int X)的X變量名字重復。
解決方法:把方法里面的參數名稱改變下就可以了public Foo(int newBar)
36 提示: Got an exception -Unexpected character 0xfffd in identifier
說明:這是因為CheckStyle不能識別制定的編碼格式。
網上參考解決方法:
1、Eclipse中可以配置,在Other-->checker中可以指定
2、可以修改checkstyle配置文件:
<modulename="Checker">
<propertyname="severity" value="warning"/>
<property name="charset"value="UTF-8"/>
<modulename="TreeWalker">
如果是UTF-8的話,就添加加粗斜體的那條語句,就可以了。
37 提示: Got an exception -java.lang.RuntimeException: Unable to get class information for @throws tagwhatever.
網上參考解決方法:選中CheckSytle的JavaDoc--> Method JavaDoc --> logLoadErrors。如果是CheckStyle自己加載時出錯的,打個Log就可以了,不要整出Errors嚇人。(這個問題沒遇到過,所以沒做過嘗試)
還有一處也可能包出同樣的錯誤。Coding Problems -->Redundant Throws --> logLoadErrors選中即可
38 提示: Expected @param tag for 'dataManager'.
說明:缺少dataManager參數的注釋
解決方法:在注釋中添加@param dataManager DataManager