首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能在插件{}块中使用“jsonschema2pojo”级插件吗?

不能在插件{}块中使用“jsonschema2pojo”级插件吗?
EN

Stack Overflow用户
提问于 2018-08-09 11:57:52
回答 3查看 2.5K关注 0票数 3

任何人都可以解释在哪里可以得到这个插件的id,为什么我不能在plugins{}中使用它?

我想开始用这个

代码语言:javascript
复制
plugins {
    id "jsonschema2pojo" version "0.5.1"
}

但是,我不得不使用用buildscript应用插件的旧方法

我不能两者兼用,因为它们相互排斥。

以下是我在GitHub https://github.com/joelittlejohn/jsonschema2pojo/issues/896#issuecomment-411491416上提出的问题

如果不可能,有人知道一个更好的/不同的gradle插件来实现这一点吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-09 14:28:24

过了一段时间,我设法让它使用:

build.gradle

代码语言:javascript
复制
plugins {
    id "org.jsonschema2pojo.gradle" version "1.0.0-alpha2"
}

jsonschema2pojo返回一个空id.namespace时,这个org.jsonschema2pojo.gradle返回一个org.jsonschema2pojo id.namespace,然后我们可以使用结果策略。

settings.gradle

代码语言:javascript
复制
pluginManagement {
    repositories {
        maven { url ".../nexus/content/groups/GradlePlugins/" }
        maven { url ".../nexus/content/groups/public/" }
    }
    resolutionStrategy {
        eachPlugin {
            if (requested.id.namespace == 'org.jsonschema2pojo') {
                useModule("org.jsonschema2pojo:jsonschema2pojo-gradle-plugin:$requested.version")
            }
        }
    }
}

我希望这能帮到一个人--这不是最干净的,但很管用。

票数 2
EN

Stack Overflow用户

发布于 2018-08-09 12:38:25

我可以从这个文件中看到id是jsonschema2pojo

但是搜索gradle插件门户为该插件返回零结果,因此您需要找到它的宿主位置。请参阅自定义插件库

Eg settings.gradle

代码语言:javascript
复制
pluginManagement {
  repositories {
      maven {
        url 'maven-repo'
      }
      gradlePluginPortal()
      ivy {
        url 'ivy-repo'
      }
  }
}
票数 1
EN

Stack Overflow用户

发布于 2022-10-17 09:44:17

根据jsonschema2pojo插件回购,id必须是jsonschema2pojo,我们需要更改group & name,以便gradle可以找到它:

gradle.properties

我对所有版本使用属性。

代码语言:javascript
复制
versions.org.jsonschema2pojo=1.1.2

settings.gradle

  • 为插件使用Maven Central & Gradle插件门户
  • 更改组名,以便gradle能够找到它
代码语言:javascript
复制
pluginManagement {
    repositories {
        mavenCentral()
        gradlePluginPortal()
    }

    plugins {
       // other plugin versions
       id 'com.github.ben-manes.versions' version getProperty('versions.com.github.ben.manes.versions')        
    }

    resolutionStrategy {
        eachPlugin {
            if (requested.id.name == 'jsonschema2pojo') {
                useModule group: 'org.jsonschema2pojo',
                          name: 'jsonschema2pojo-gradle-plugin',
                          version: getProperty('versions.org.jsonschema2pojo')
            }
        }
    }
}

build.gradle

只需要插件id,因为我们已经在settings.gradle中设置了版本

代码语言:javascript
复制
plugins {
    id 'java'
    // external plugin versions are in settings.gradle
    id 'com.github.ben-manes.versions'
    ...
    id 'jsonschema2pojo'
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51766423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档