任何人都可以解释在哪里可以得到这个插件的id,为什么我不能在plugins{}中使用它?
我想开始用这个
plugins {
id "jsonschema2pojo" version "0.5.1"
}但是,我不得不使用用buildscript应用插件的旧方法
我不能两者兼用,因为它们相互排斥。
以下是我在GitHub https://github.com/joelittlejohn/jsonschema2pojo/issues/896#issuecomment-411491416上提出的问题
如果不可能,有人知道一个更好的/不同的gradle插件来实现这一点吗?
发布于 2018-08-09 14:28:24
过了一段时间,我设法让它使用:
build.gradle
plugins {
id "org.jsonschema2pojo.gradle" version "1.0.0-alpha2"
}当jsonschema2pojo返回一个空id.namespace时,这个org.jsonschema2pojo.gradle返回一个org.jsonschema2pojo id.namespace,然后我们可以使用结果策略。
settings.gradle
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")
}
}
}
}我希望这能帮到一个人--这不是最干净的,但很管用。
发布于 2018-08-09 12:38:25
我可以从这个文件中看到id是jsonschema2pojo
但是搜索gradle插件门户为该插件返回零结果,因此您需要找到它的宿主位置。请参阅自定义插件库
Eg settings.gradle
pluginManagement {
repositories {
maven {
url 'maven-repo'
}
gradlePluginPortal()
ivy {
url 'ivy-repo'
}
}
}发布于 2022-10-17 09:44:17
根据jsonschema2pojo插件回购,id必须是jsonschema2pojo,我们需要更改group & name,以便gradle可以找到它:
gradle.properties
我对所有版本使用属性。
versions.org.jsonschema2pojo=1.1.2settings.gradle
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中设置了版本
plugins {
id 'java'
// external plugin versions are in settings.gradle
id 'com.github.ben-manes.versions'
...
id 'jsonschema2pojo'
}https://stackoverflow.com/questions/51766423
复制相似问题