Java Gradle由于插件的名称空间污染而忽略自定义POM中的元素
我正在尝试自定义我的pom,如中所示。我的尝试如下所示:Java Gradle由于插件的名称空间污染而忽略自定义POM中的元素,java,maven,gradle,pom.xml,Java,Maven,Gradle,Pom.xml,我正在尝试自定义我的pom,如中所示。我的尝试如下所示: def pomConfig = { // ... licenses { license { name "LGPL 3.0" url "https://gnu.org/licenses/lgpl-3.0" distribution 'repo' } } } publishin
def pomConfig = {
// ...
licenses {
license {
name "LGPL 3.0"
url "https://gnu.org/licenses/lgpl-3.0"
distribution 'repo'
}
}
}
publishing {
publications {
maven(MavenPublication) {
from components.java
pom.withXml {
asNode().children().last() + pomConfig
}
}
}
}
但是,在(无效)pom中显示如下:
我尝试了gradle 4.2.1和gradle 4.3.1,两者的行为都是一样的
如何让gradle添加license
xml元素
更新:
我发现我使用的插件在license{}
块中具有配置。禁用插件可以解决问题。但是我想知道是否有任何方法可以让插件处于活动状态,同时pomConfig
工作?我尝试编写“许可证”{
,但没有解决问题。在定义pomConfig
后应用插件也没有帮助
<licenses>
<name>LGPL 3.0</name>
<url>https://gnu.org/licenses/lgpl-3.0</url>
<distribution>repo</distribution>
</licenses>
<licenses>
<liecense>
<name>LGPL 3.0</name>
<url>https://gnu.org/licenses/lgpl-3.0</url>
<distribution>repo</distribution>
</liecense>
</licenses>