首页 > 解决方案 > 插件 org.jooq.pro:jooq-codegen-maven 或其依赖项之一无法解析

问题描述

我正在使用以下依赖项设置jOOQ 商业版的免费试用版:

<dependency> 
    <groupId>org.jooq.pro-java-8</groupId> 
    <artifactId>jooq</artifactId> 
    <version>3.15.3</version> 
</dependency> 
<dependency> 
    <groupId>org.jooq.pro-java-8</groupId> 
    <artifactId>jooq-meta</artifactId> 
    <version>3.15.3</version> 
</dependency> 
<dependency> 
    <groupId>org.jooq.pro-java-8</groupId> 
    <artifactId>jooq-codegen</artifactId> 
    <version>3.15.3</version> 
</dependency>

和代码生成器插件:

<plugin>
    <groupId>org.jooq.pro-java-8</groupId> 
    <artifactId>jooq-codegen-maven</artifactId>
    <version>3.15.3</version> 
</plugin>

但是,我收到以下错误:

[错误] 插件 org.jooq.pro-java-8:jooq-codegen-maven:3.15.3 或其依赖项之一无法解析:找不到工件 org.jooq.pro-java-8:jooq-codegen -maven:jar:3.15.3 在中央(https://repo.maven.apache.org/maven2

可能是什么原因?

(注意,我问这个问题是为了在 Stack Overflow 上记录 jOOQ 商业版的特定答案,因为这是用户的常见支持请求,并且Stack Overflow 鼓励这样做)。

标签: javamavenjooq

解决方案


无法解析商业 jOOQ 工件的最常见原因是:

Maven 中心

从 jOOQ 3.15 开始,商业版不会发布到 Maven Central,而只能从 jOOQ 网站获得:https ://www.jooq.org/download/versions 。该发行版可以下载为 ZIP 文件,其中包含用于在本地存储库中发布工件的脚本(通过mvn installmvn deploy

groupId每个版本的Maven

groupId免费试用不正确。这些是groupId每个工件的当前 Maven 值,也如此处所述:

  • org.jooq对于开源版
  • org.jooq.pro适用于具有最新 Java 支持的商业版(Java 17 for jOOQ 3.15)
  • org.jooq.pro-java-11适用于支持 Java 11 的商业版
  • org.jooq.pro-java-8适用于支持 Java 8 的商业版
  • org.jooq.pro-java-6适用于支持 Java 6 的商业版(直到 jOOQ 3.14)
  • org.jooq.trial具有最新 Java 支持的免费试用版(Java 17 for jOOQ 3.15)
  • org.jooq.trial-java-11支持 Java 11 的免费试用版
  • org.jooq.trial-java-8支持 Java 8 的免费试用版

弹簧靴

Spring Boot 提供了依赖于 jOOQ 开源版的启动器。如果您将 Spring Boot 与商业版的 jOOQ 一起使用,则必须确保启动器不包含开源版。

实现此目的的一种方法是将其从启动器的 Maven 依赖项中显式排除,如本博文中所述:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jooq</artifactId>
 
  <!-- Exclude the jOOQ Open Source Edition -->
  <exclusions>
    <exclusion>
      <groupId>org.jooq</groupId>
      <artifactId>jooq</artifactId>
    </exclusion>
  </exclusions>
</dependency>

推荐阅读