首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle createPom似乎不读gradle.properties

Gradle createPom似乎不读gradle.properties
EN

Stack Overflow用户
提问于 2015-05-29 13:59:29
回答 1查看 131关注 0票数 0

请注意:虽然我在这个问题中提到了ShadowJar插件,但它只是为了提供完整的上下文。我相信任何一个等级大师都能回答这个问题,不管他们对ShadowJar的知识水平如何。

目前,我的Groovy项目是使用以下Gradle构建调用构建的:

分级清洁构建shadowJar

运行此调用将在build/libs下生成一个打包的胖jar,其中包含在version文件中指定的version属性。例如,如果gradle.properties有一个version=1.2.3,那么上面的调用将生成build/libs/myapp-1.2.3.jar

然而,它不能产生的是我的应用程序的有效POM。因此,我找到了这个答案,并对其进行了一些修改,以生成:

代码语言:javascript
复制
task createPom << {
    pom {
        project {
            groupId ${group}
            artifactId 'myapp'
            version ${version}
        }
    }.writeTo("build/libs/pom.xml")
}

我的想法是,groupversion (都在gradle.properties中指定)将被“注入”,这应该会在与胖jar相同的目录中生成一个pom.xml

添加createPom任务后,我运行:

分级清洁构建shadowJar createPom

我得到了一个错误:

代码语言:javascript
复制
FAILURE: Build failed with an exception.

* Where:
Build file 'D:\workspace\blah\myapp\build.gradle' line: 89

* What went wrong:
Execution failed for task ':createPom'.
> No signature of method: java.lang.Object.$() is applicable for argument types: (java.util.Collections$EmptyMap, null) values: [[:], null]
Possible solutions: any(), is(java.lang.Object), wait(), find(), dump(), grep()

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 11.673 secs

这里发生什么事情?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-29 16:36:50

台词:

代码语言:javascript
复制
groupId ${group}
artifactId 'myapp'
version ${version}

不是有效的groovy,可能应该是:

代码语言:javascript
复制
groupId "${group}"
artifactId 'myapp'
version "${version}"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30531550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档