title: Using javax.annotation.Nonnull: which java jar dependency to get it from?
body: <p>In our open source constraint solver (<a href="https://www.optaplanner.org/" rel="noreferrer">OptaPlanner</a>), I want to use <code>@NonNull</code> to make it more Kotlin friendly and clearer to use from Java, too.</p>
  
  <p><code>spring-core</code> already uses <code>@NonNull</code>, <a href="https://github.com/spring-projects/spring-framework/blob/master/spring-core/src/main/java/org/springframework/lang/NonNull.java#L25" rel="noreferrer">for example in this code</a>. They effectively state for every method parameter if it's nullable or not, <a href="https://youtu.be/fBHVYWxCnmA?t=44m8s" rel="noreferrer">as explained here</a>.</p>
  
  <p><strong>Which maven/gradle dependency should I use to have the class <code>javax.annotation.Nonnull</code> in my classpath?</strong> Which one do the spring guys use? For example, I don't see the findbugs JSR-305 jar <a href="https://github.com/spring-projects/spring-framework/blob/master/spring-core/spring-core.gradle#L65" rel="noreferrer">in their dependency list</a>.</p>
  
  <p>(And can I have it as an optional dependency to avoid bloating my user's classpath?)</p>