Всем привет. Бьюсь с такой вот проблемой. Необходимо интегрировать множество статических анализаторов кода в проект Maven. Чтобы при сборке можно было вызывать плашку с параметрами: 1. Включенные/исключенные директории 2. Выводить отчет/не выводить 3. В каком формате и куда выводить отчет 4. Глубина анализа кода Вобщем, засада. Ну не хочет интегрироваться этот зверь и все тут, хоть убейся. Что вообще я делал и что пробовал: Стоит Maven с версией | Код | mvn --version Apache Maven 3.0.2 (r1056850; 2011-01-09 03:58:10+0300) Java version: 1.6.0_27, vendor: Sun Microsystems Inc. Java home: C:\Program Files\Java\jdk1.6.0_27\jre Default locale: ru_RU, platform encoding: Cp1251 OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
|
в файле проекта в депенденсах вроде бы указал все что необходимо... | Код | <dependencies> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.3.2</version> </dependency> <dependency> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.0</version> </dependency> <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>findbugs</artifactId> <version>1.3.9</version> </dependency> </dependencies>
|
Дальше, использование плашки самой. в разделе build maven'a | Код | <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId> <version>2.3.2</version> <configuration> <threshold>High</threshold> <detail>true</detail> <effort>Default</effort> <findbugsXmlOutput>true</findbugsXmlOutput> <xmlOutput>true</xmlOutput> <excludeFilterFile>exclude.txt</excludeFilterFile> </configuration> </plugin>
|
Вобщем, если запускать мавен просто из командной строки для сборки - в логе появляется вот что.... | Код | [INFO] [INFO] --- findbugs-maven-plugin:2.3.2:findbugs (default-cli) @ ProcessingPlatformCommon --- [INFO] ****** FindBugsMojo execute ******* [INFO] canGenerate is true [INFO] ****** FindBugsMojo executeFindbugs ******* [INFO] Temp File is D:\Project\DemoProject\ProcessingPlatformCommon\target\findbugsTemp.xml [INFO] Fork Value is true [java] Exception in thread "main" java.io.IOException: Premature end of file. [java] at edu.umd.cs.findbugs.filter.Filter.<init>(Filter.java:128) [java] at edu.umd.cs.findbugs.FindBugs.configureFilter(FindBugs.java:428) [java] at edu.umd.cs.findbugs.FindBugs2.addFilter(FindBugs2.java:311) [java] at edu.umd.cs.findbugs.TextUICommandLine.configureEngine(TextUICommandLine.java:516) [java] at edu.umd.cs.findbugs.FindBugs.processCommandLine(FindBugs.java:319) [java] at edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1054) [java] Java Result: 1 [INFO] No bugs found [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.538s [INFO] Finished at: Fri Nov 18 17:35:51 MSK 2011 [INFO] Final Memory: 12M/29M [INFO] ------------------------------------------------------------------------
|
а если тоже самое выполняю в каком нибудь например eclipse, то вдобавок ко всему появляется еще и ошибка: | Код | [INFO] ****** FindBugsMojo execute ******* [INFO] canGenerate is true [INFO] ****** FindBugsMojo executeFindbugs ******* [INFO] Temp File is D:\Project\DemoProject\ProcessingPlatformCommon\target\findbugsTemp.xml [INFO] Fork Value is true [java] java.lang.NoClassDefFoundError: org/apache/bcel/classfile/ClassFormatException [java] Caused by: java.lang.ClassNotFoundException: org.apache.bcel.classfile.ClassFormatException [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:202) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:190) [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:306) [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:247) [java] Could not find the main class: edu.umd.cs.findbugs.FindBugs2. Program will exit. [java] Exception in thread "main" [INFO] No bugs found [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.227s [java] Java Result: 1 [INFO] Finished at: Fri Nov 18 17:13:28 MSK 2011 [INFO] Final Memory: 14M/35M [INFO] ------------------------------------------------------------------------
|
Вызываю данный плагин в мавене командой работает только в том случае, если проект предварительно собран (mvn package) В сам отчет выводится совершенно непонятная вещь, при том что ошибок пишет не найдено. Ко нибудь пробовал работать с данной штукой?
|