# Eclipse project files
.settings
.externalToolBuilders
.classpath
.project

# m2e-code-quality Eclipse IDE plugin temporary configuration files for Eclipse CS Checkstyle / PMD / FindBugs Plug-Ins
.checkstyle
.pmd
.pmdruleset.xml
.fbExcludeFilterFile
 
# NetBeans project files
nbactions.xml
nb-configuration.xml

# Maven build folder
target
bin

# IDEA project files
checkstyle.iml
checkstyle.ipr
checkstyle.iws
.idea

# Temp files
*~

# Java Virtual machine crash logs
hs_err_pid*
replay_pid*

# Apple MAC OSX hidden file
.DS_Store

# NonDex files
.nondex
