【问题标题】:Is there any project layout that satisfies mavens release plugin?有没有满足mavens发布插件的项目布局?
【发布时间】:2011-12-01 17:38:44
【问题描述】:

我有一个多模块项目,无法执行发布。

我尝试了这些布局:

svnroot/trunk/parent
              /module1
              /module2

svnroot/parent/trunk
svnroot/module1/trunk
svnroot/module2/trunk

看完

我希望第一个布局可以工作,但在这两种情况下,maven 都会以这个错误终止:

[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).

Project ID: unknown

 Reason: Could not find the model file 'C:\myworkspace\parent\target\module1'. for project unknown
[INFO] ------------------------------------------------------------------------            

出现此错误时似乎已经完成了一些工作,所有版本号都在 poms 中更新。

我认为父模块是在 parent\target\checkout 下签出的,并且插件似乎希望模块在 target 下签出。

  • 我错过了一个重要的设置吗?

  • 谁能描述一下他是如何让 mvn 发布的?

parent.pom 有以下设置

    <groupId>company.project</groupId>
    <artifactId>parent</artifactId>
    <version>1.0.9-SNAPSHOT</version>
    <packaging>pom</packaging>

     <modules>
        <module>../module1</module>
        <module>../module2</module>
    </modules> 

    <scm>
        <connection>scm:svn:file:///SVNROOT/trunk/parent</connection>
        <url>file:///SVNROOT/trunk/parent</url>
    </scm>

     <dependency>
            <groupId>company.project</groupId>
            <artifactId>module1</artifactId>
            <version>1.0.9-SNAPSHOT</version>
     </dependency>

模块 pom 看起来像这样

<parent>
    <artifactId>parent</artifactId>
    <groupId>company.project</groupId>
    <version>1.0.9-SNAPSHOT</version>
</parent>

<name>module1</name>
<artifactId>module1</artifactId>

<scm>
    <connection>scm:svn:file:///SVNROOT/trunk/module1</connection>
    <url>file:///SVNROOT/trunk/module1</url>
</scm>

释放被调用

mvn -e -DcommitByProject=true -DautoVersionSubmodules=true  -Dresume=false release:prepare  release:perform

Maven 版本是 2.2.1

【问题讨论】:

    标签: java maven maven-2 maven-release-plugin


    【解决方案1】:

    我的结构是

    /svnroot/trunk/parent
    /svnroot/trunk/parent/module1
    /svnroot/trunk/parent/module2
    

    等等。而且我在构建或使用发布插件方面没有任何问题。我目前使用的是 3.0.3,但我认为它适用于 2.2.x。无论如何,它与您在问题中列出的任何一个结构都不匹配,可能值得一试。

    【讨论】:

    • @jtahlborn 你有更多文档的链接吗?
    【解决方案2】:

    编辑:正如我在下面提到的,这是一个 Eclipse 插件的问题 - 很抱歉造成混淆

    如果我没记错的话,从 Maven 2.2 开始,多模块项目设置不再受支持。由于其他原因,我们将产品升级到 Maven 2.2,并发现以前没有问题的多模块项目停止正确构建。

    【讨论】:

    • 不,maven 并没有停止支持多模块项目。对于大多数中等规模及以上的项目,这将排除使用 maven。
    • 抱歉,我有一个假设——我们的问题是针对 Eclipse 的特定 maven 插件不喜欢这个变化。请无视我的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多