
证明文件是完整的,可忽略
然后解压simian-2.5.10.tar.gz,并把解压后的文件放到D:Program_Filessimian-2.5.10目录下
使用bin目录下的jar
执行命令,从src目录下找到重复3行的重复代码,并将找到的结果放入D:esult.txt中
java -jar D:Program_Filessimian-2.5.10insimian-2.5.10.jar -threshold=3 "D:workspaceideafathersrc***.java" >> D:esult.txt
Simian命令行的格式:
java -jar simian.jar [options] [files]
Usage: [options] [files]
命令
描述
-balanceCurlyBraces[+/-]
Accounts for curly braces when breaking lines
-balanceParentheses[+/-]
Accounts for parentheses when breaking lines
-balanceSquareBrackets[+/-]
Accounts for square brackets when breaking lines
-config=FNAME
Reads the configuration from the specifiedfile
-defaultLanguage=LANG
Assumes files are in the specified language if none can be inferred
-excludes=SPEC
Excludes files matching the specified pattern
-failOnDuplication[+/-/%]
Exits with a failure return code if duplication detected
-formatter=TYPE[:FNAME]
Uses the specified output format when reporting
-ignoreBlocks=START:END
Ignores all lines between START/END
-ignoreCharacterCase[+/-]
Matches character literals irrespective of case
-ignoreCharacters[+/-]
Completely ignores character literals
-ignoreCurlyBraces[+/-]
Completely ignores curly braces
-ignoreIdentifierCase[+/-]
Matches identifiers irresepctive of case
-ignoreIdentifiers[+/-]
Completely ignores identifiers
-ignoreLiterals[+/-]
Completely ignores all literals (strings, numbers and characters)
-ignoreModifiers[+/-]
Ignores modifiers (public, private, static, etc.)
-ignoreNumbers[+/-]
Completely ignores numbers
-ignoreOverlappingBlocks[+/-]
Ignores blocks that wholly or partially overlap
-ignoreRegions[+/-]
Ignores all lines between #region/#endregion
-ignoreStringCase[+/-]
Matches string literals irrespective of case
-ignoreStrings[+/-]
Completely ignores the contents of strings
-ignoreSubtypeNames[+/-]
Matches on similar type names (eg. Reader and FilterReader)
-ignoreVariableNames[+/-]
Completely ignores variable names (fields, parameters and locals)
-includes=SPEC
Including files matching the specified pattern
-language=LANG
Assumes ALL files are in the specified language
-reportDuplicateText[+/-]
Prints the duplicate text in reports
-threshold=COUNT
Matches will contain at least the specified number of lines
示例说明:
一些参数:
检查包括子目录下的所有的c#文件:
"-recurse=*.cs"
检查当前目录下的所有c#文件 ,并且只检查代码3行以上重复的代码
-threshold=3 "*.cs"
在当前目录的所有子文件夹下检测所有c和h后缀的文件:
**/*.c **/*.h
检测两个不同目录下的所有java文件:
"/csharp-source/*.cs" "/java-source/*.java"
检测所有子目录下的所有java文件,包括test类:
-includes=**/*.java -excludes=**/*Test.java
检测当前目录下的所有java文件,且忽略其中的数字的不同:
-ignoreNumbers "*.java"
检测所有java文件,并以xml格式显示结果:
-formatter=xml "*.rb"
从文件中读取配置参数(文件中一行只能包括一个simian有效的参数):
-config=simian.config














