Fork me on GitHub

Animal Sniffer Enforcer Rule

The Animal Sniffer Enforcer Rule is used to check your classes against previously generated signatures. This enforcer rule is called animal sniffer because the principal signatures that are used are those of the Java Runtime, and since Sun traditionally names the different versions of its Java Runtimes after different animals, the original project from which this enforcer rule was developed was called "Animal Sniffer".

Rules Overview

The Animal Sniffer Enforcer Rule has the following rule.

  • checkSignatureRule checks a project against an API signature.


General instructions on how to use the Animal Sniffer Enforcer Rule can be found on the usage page. Some more specific use cases are described in the examples given below. Last but not least, users occasionally contribute additional examples, tips or errata to the enforcer rule's wiki page.

In case you still have questions regarding the enforcer rule's usage, feel free to contact the user mailing list. The posts to the mailing list are archived and could already contain the answer to your question as part of an older thread. Hence, it is also worth browsing/searching the mail archive.

If you feel like the enforcer rule is missing a feature or has a defect, you can fill a feature request or bug report in our issue tracker. When creating a new issue, please provide a comprehensive description of your concern. Especially for fixing bugs it is crucial that the developers can reproduce your problem. For this reason, entire debug logs, POMs or most preferably little demo projects attached to the issue are very much appreciated. Of course, patches are welcome, too. Contributors can check out the project from our source repository and will find supplementary information in the guide to helping with Maven.


To provide you with better understanding of some usages of Animal Sniffer Enforcer Rule, you can take a look into the following examples: