Version: 6.0.0.CR3 - 11-07-2017
This is the reference implementation of JSR-380 - Bean Validation 2.0. Bean Validation defines a metadata model and API for JavaBean as well as method validation. The default metadata source are annotations, with the ability to override and extend the meta-data through the use of XML validation descriptors.
The documentation for this release is included in the docs directory of the distribution package or can be accessed online.
The full list of changes for this release can be found in changelog.txt.
JDK 1.8 or above.
-
In case you use the distribution archive from the download site, copy dist/hibernate-validator-<version>.jar together with all jar files from dist/lib/required into the classpath of your application. For the purposes of logging, Hibernate Validator uses the JBoss Logging API, an abstraction layer which supports several logging solutions such (e.g. log4j or the logging framework provided by the JDK) as implementation. Just add a supported logging library to the classpath (e.g. log4j-<version>.jar) and JBoss Logging will delegate any log requests to that provider.
-
Add the following to your Maven or Ivy dependency list
<dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.0.CR3</version> </dependency> You also need an API and implementation of the Unified Expression Language. These dependencies must be explicitly added in an SE environment. In an EE environment they are often already provided. <dependency> <groupId>org.glassfish</groupId> <artifactId>javax.el</artifactId> <version>3.0.1-b08</version> </dependency>
-
Bean Validation defines integration points with CDI. If your application runs in an environment which does not provide this integration out of the box, you may use the Hibernate Validator CDI portable extension by adding the following dependency:
<dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator-cdi</artifactId> <version>6.0.0.CR3</version> </dependency>
-
hibernate-validator-annotation-processor-<version>.jar is an optional jar which can be integrated with your build environment respectively IDE to verify that constraint annotations are correctly used. Refer to the online documentation for more information.
Hibernate Validator itself as well as the Bean Validation API and TCK are all provided and distributed under the Apache Software License 2.0. Refer to license.txt for more information.
You can build Hibernate Validator from source by cloning the git repository git://github.com/hibernate/hibernate-validator.git. You will also need a JDK 8 and Maven 3 (>= 3.0.3). With these prerequisites in place you can compile the source via
mvn -s settings-example.xml clean install
There are more build options available as well. For more information refer to Contributing to Hibernate Validator.
To build Hibernate Validator with JDK 9, export the following environment variable:
export MAVEN_OPTS="--add-opens=java.base/java.security=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-modules=java.xml.bind"
Then the build can be started like this:
mvn -s settings-example.xml clean install
Also the OSGi integration tests will fail on Java 9 currently, hence the "osgi" module is excluded automatically when building on JDK 9. We are waiting for the release of a Karaf version supporting the latest Java 9 builds.
Here are the reasons why we added the various build options:
- add-opens java.security: required by wildfly-maven-plugin:execute-commands (for the WildFly integration tests and the TCK runner running in container mode)
- add-opens java.lang: required by JRuby for Asciidoc processing
- add-modules java.xml.bind: required by the forbiddenapis Maven plugin
The official Continuous Integration service for the project is hosted on ci.hibernate.org.
We provide a .travis.yml
file so that you can enable CI for your GitHub fork by enabling the build in your Travis CI account.