*.class

# Local developers toolchain
/toolchains-local.xml

# Exclude the maven-wrapper.jar
.mvn/wrapper/maven-wrapper.jar

# Exclude maven-release-plugin generated tmp artifacts
pom.xml.releaseBackup
release.properties

# Exclude buildTooling tmp artifacts
edgent.release.properties 

# More generated artifacts
target/
/reports

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.war
*.ear

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

# IntelliJ Idea
.idea/
*.iml

# Eclipse
.classpath
.project
.settings/

# Emacs
*~

# Mac os x
*.DS_Store