我有一个静态xml文件,我想使用Maven发布插件从Gradle发布一个Maven存储库(目前是我的本地maven repo )。
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'
}
}
}这是可行的,但我也想添加一个分类器,我应该在哪里定义它呢?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可能的解决方案:等待()、any()、等待(长)、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'
}
}
}发布于 2015-10-30 04:52:00
按照指定的这里使用映射语法。
publishing {
publications {
beta(MavenPublication) {
artifactId 'feature-file'
artifact source: 'src/main/resources/features.xml', classifier: 'features'
}
}
}发布于 2017-02-23 09:27:45
添加pom { packaging 'xml' }
为我工作(gradle 3.2.1)
publishing { publications { beta(MavenPublication) { artifactId 'feature-file' artifact source: 'src/main/resources/features.xml', classifier: 'features' pom { packaging 'xml' } } } }
https://stackoverflow.com/questions/33388818
复制相似问题