我有一个静态 xml 文件,我想使用 maven-publish 插件从 Gradle 发布到 Maven 存储库(我现在的本地 Maven 存储库)。
build.gradle 看起来像这样:
apply plugin: 'maven-publish'
group 'com.example.gradletest'
version '1.0-SNAPSHOT'
publishing {
publications {
beta(MavenPublication) {
artifactId 'feature-file'
artifact 'src/main/resources/features.xml'
}
}
}
这可行,但我也想添加一个分类器,我应该在哪里定义它? https://docs.gradle.org/current/userguide/publishing_maven.html在第 68.2.2 节中说应该可以这样做:
publishing {
publications {
beta(MavenPublication) {
artifactId 'feature-file'
artifact ('src/main/resources/features.xml') {
classifier 'features'
}
}
}
}
但后来我得到这个错误:
配置根项目“testapplication”时出现问题。
执行模型规则时抛出异常:org.gradle.api.publish.plugins.PublishingPlugin$Rules#publishing(org.gradle.api.plugins.ExtensionContainer) 没有方法签名:java.io.File.call() 适用于参数类型:(build_101arjzoe908rdkh5aikrn6bt$_run_closure5_closure16_closure19_closure20) 值:[build_101arjzoe908rdkh5aikrn6bt$_run_closure5_closure16_closure19_closure20@2aa7399c] 可能的解决方案:wait(), any(), wait(long), each(groovy.lang.Closure), any( , 列表()
使用以下解决方案将正确添加分类器,但也会将 pom.xml 中的包装从 更改<packaging>xml</packaging>
为<packaging>pom</packaging>
。我不想要那个。
publishing {
publications {
beta(MavenPublication) {
artifactId 'feature-file'
artifact source: 'src/main/resources/features.xml', classifier: 'features'
}
}
}