Code Monkey home page Code Monkey logo

Comments (2)

bbottema avatar bbottema commented on June 13, 2024

It seems you misunderstood how annotation dependencies work.

First, these transitive dependencies are not needed and indeed are set to provided. If you omit them completely, this causes no issues, because the JVM was designed to allow for missing annotation classes.

Second, these nullability annotation libraries don't have "lots of others stuff is coming along", as you can see in a Maven analyses:
image
Not only are there no nested transitive dependencies, these are set to provided, so they are not needed at all. If you don't include them, the only thing you accomplish is that your IDE/build tool can't do proper null-checks anymore, so you basically harm your own project.

Third, these libraries are the defacto industry standard. Many many projects uses them (including popular projects such as Google Guava); either the old spotbugs version, the findbugs successor or Google's CheckerQual etc. They allow analyser tools (Spotbugs, IntelliJ etc)., to perform static analyses for nullabillity-problems. But if you don't want them, you can and that's totally fine.

from email-rfc2822-validator.

Lonzak avatar Lonzak commented on June 13, 2024

Mhm indeed didn't know that missing annotations would be ignored. Fine. But I disagree with your statement that Intellij' annotation are a defacto industry standard (findbugs/spotbugs might be). You can compare my thread "Which nonnull annotation to use" https://stackoverflow.com/questions/35892063/which-nonnull-java-annotation-to-use

from email-rfc2822-validator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.