【发布时间】:2015-10-28 10:38:04
【问题描述】:
我有一个静态 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(groovy.lang.Closure)、list()
使用以下解决方案将正确添加分类器,但也会将 pom.xml 中的包装从 <packaging>xml</packaging> 更改为 <packaging>pom</packaging>。我不想要那个。
publishing {
publications {
beta(MavenPublication) {
artifactId 'feature-file'
artifact source: 'src/main/resources/features.xml', classifier: 'features'
}
}
}
【问题讨论】:
标签: gradle maven-publish