by Fábio Souza
These days I've been looking for a good way to incorporate FindBugsTM within my JDeveloper 10g and I couldn't find anything about it on the net. I talked with Eduardo and we both thought it would be a good idea to configure FindBugs as a JDeveloper External Tool (and it is indeed).
Ok, before I start listing the steps to do it, I must say I'm pretty much aware of the fact that you will probably notice that I'm using Eduardo's JAXB 2.0 configuration steps listed on his previous post "JAXB 1.0 vs. 2.0 in JDeveloper 10g". Well... what can I say? I am a CTRL+C/CTRL+V addicted and I just can't help it! :D
- Click the menu item "Tools -> External Tools..."
- Press the "New..." button to start the "Create External Tool" wizard
- Select "External Program" as the "Tool Type" and press "Next"
- Fill the 3 displayed fields as follows:
- Program Executable:
full path to the "java.exe" from your preferred JAVA_HOME (must be Java 5.0 or greater) - Arguments:
-Dfindbugs.home=. -Xmx256m -jar lib\findbugs.jar -sourcepath "${project.first.sourcepath}" -auxclasspath "${project.classpath}" -html -output "${project.dir}\${file.name.no.ext}.findbugs.html" "${project.outputdirectory}" "${project.outputdirectory}"
The arguments above will be passed to "java.exe". Notice that we're bypassing "findbugs.bat" and executing the FindBugs JAR file directly. We must do this way because the batch file requires the classpath passed after "-auxclasspath" to be enclosed in double quotes (") and the macro "${project.classpath}" will match that requirement only when there's at least one path including one ore more blank spaces in its directories names. - Run Directory:
full path where FindBugs is installed. - Press "Next" to advance to "Display" step and fill the 3 fields as you like. I suggest the following:
- Caption for Menu Items:
FindBugs - ToolTip Text:
Run FindBugs on your project. - Icon location:
Download and configure this one -> - Press "Next" to advance to "Integration" step where I recommend selecting "Tools Menu" and "Navigator Context Menu"
- Press "Next" to advance to the final step "Availability". Here, you have to choose the option "When Specific File Types are Selected" and then move only the item "Java Project" from list "Available Types" to list "Selected Types"
- Press "Finish" and done!
Now it's all set to use FindBugs! Just right-click on a project in the Application Navigator and select "FindBugs". An HTML report will be generated in project's folder and standard output and error will be sent to JDev's Message View.
Enjoy your new tool!
4 comments:
I got the same bug in JDeveloper 10.1.3.4 but I can't figure out how to remove the bad jar files from the classpath. Any hints?
Hello Maline,
Try these steps in JDeveloper:
- Go to: Tools -> Manage Libraries -> J2SE Definitions
- Click on button "New..."
- Select the java.exe located in the %JAVA_HOME%/bin folder
- Remove the following items from the classpath: i18n.jar, sunrasign.jar and the "classes"
- Confirm your changes
Now you have to go to your project properties and inside the "Libraries" section you can change your JVM to new JVM.
It might work.
Cheers,
Fábio
very good article. Very useful. Thanks!
This is really cool.
Thanks bud
Post a Comment