Dependencies are a big hassle in modern software. Many libraries depend on other, non-JDK library parts that come in different, incompatible versions, potentially causing trouble in your runtime environment. jOOQ has no external dependencies on any third-party libraries.
However, the above rule has some exceptions:
- logging APIs are referenced as "optional dependencies". jOOQ tries to find slf4j on the classpath. If it fails, it will use the java.util.logging.Logger
- Oracle ojdbc types used for array creation are loaded using reflection. The same applies to SQL Server types and Postgres PG* types.
- Small libraries with compatible licenses are incorporated into jOOQ. These include jOOR, jOOU, parts of OpenCSV, json simple, parts of commons-lang
- javax.persistence and javax.validation will be needed if you activate the relevant code generation flags