Mar*_*han 5 java release snapshot maven maven-release-plugin
我是Java库的维护者(ta4j,提供技术分析功能).在我的存储库中,不同的模块被mavenized,我试图释放其中一个.
该项目的Maven架构是:
ta4j-parent
|__ ta4j
|__ ta4j-examples
Run Code Online (Sandbox Code Playgroud)
我说这pom.xml只是和大家分享一些属性(licenses,issueManagement之间等)ta4j和ta4j-examples,以及未来dependencyManagement.我不想发布这个工件(因为它对我的库的用户来说没用).
这pom.xml有ta4j-parent它的父母.它包含了释放ta4j工件所需的内容,这是我的库中唯一有用的(它是库本身的唯一源模块)模块.
此工件包含独立的主类,其中显示了ta4j的使用示例.我不想发布它.
目前,这pom.xml仅包含示例的依赖关系.
由于我只想发布ta4j模块,我去了./ta4j/ta4j子目录并运行以下命令:
mvn release:prepare -Darguments=-Dgpg.passphrase="<my key secret>"
Run Code Online (Sandbox Code Playgroud)
...返回:
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building ta4j
[INFO] task-segment: [release:prepare] (aggregator-style)
[INFO] ------------------------------------------------------------------------
[INFO] [release:prepare {execution: default-cli}]
[INFO] Verifying that there are no local modifications...
[INFO] ignoring changes on: **/pom.xml.backup, **/release.properties, **/pom.xml.branch, **/pom.xml.next, **/pom.xml.releaseBackup, **/pom.xml.tag
[INFO] Executing: /bin/sh -c cd /home/user/workspace/ta4j/ta4j && git status
[INFO] Working directory: /home/user/workspace/ta4j/ta4j
[INFO] Checking dependencies and plugins for snapshots ...
There are still some remaining snapshot dependencies.
: Do you want to resolve them now? (yes/no) no: : no
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Can't release project due to non released dependencies :
eu.verdelhan:ta4j-parent:pom:0.4-SNAPSHOT
in project 'ta4j' (eu.verdelhan:ta4j:jar:0.4-SNAPSHOT)
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7 seconds
[INFO] Finished at: Thu May 22 21:50:50 CEST 2014
[INFO] Final Memory: 23M/293M
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
发布插件不想释放该ta4j模块.它认为我应该首先发布一个快照依赖:ta4j-parent.但是,正如我之前所说,我不希望父母被释放(...因为它对每个人都没用).
那我怎么能释放ta4j模块而只发布ta4j模块呢?
注意:我使用的Maven版本是Apache Maven 2.2.1(Java 1.7).
谢谢.
我编辑了这个问题,因为我认为我的主要问题是在不释放其父模块的情况下释放子模块.是否快照没有任何区别.
经过几天的研究,没有找到让父POM透明的方法。
我最终选择也发布父模块。即使它(理论上)无用,我注意到这是此类项目的常见做法。
我很失望,Maven 似乎没有这样的功能(比如在子 POM 中包含父 POM)。但如果将来有人能找到办法做到这一点,我将更改已接受的答案。
| 归档时间: |
|
| 查看次数: |
2910 次 |
| 最近记录: |