1

私はMavenを初めて使用します。私は次のような製品構造を持っています

myWebProduct
    pom.xml
    coreModule
    webModule
    htmlTestModule

pom.xmlMavenリリースプラグインは、の親であるファイルの会社レベルで定義されますmyWebProduct。リリースプラグインの実行のデフォルトの目標deployとデフォルトのpreparationGoalsが設定されていますclean verify install

myWebProductリリースをスキップしたい場合を除いて、正常に動作するレベルで製品をリリースしたいhtmlTestModuledeployライフサイクルをオンにすると、リモートのTomcatサーバーにwarファイルがデプロイされるためhtmlTestModule、リリース中にこれが発生することは望ましくありません。

のフォローインを追加してみましpom.xmlhtmlTestModule

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <version>2.1</version>    
  <configuration>
    <skip>true</skip>
    <preparationGoals>clean validate</preparationGoals>
    <goals>testCompile</goals>
  </configuration>
</plugin>

ただし、で「mvnrelease:perform」を実行する場合myWebProduct。デプロイの目標がまだ実行されているのを見てきましたhtmlTestModule。誰かがこれを手伝ってもらえますか?

そして私もフォローしてみましたhtmlTestModule

<plugins>           
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.5</version>      
    <executions>
      <execution>
      <id>donotRunMe</id>
      <phase>none</phase>
    </execution>                    
  </executions>
</plugin>

それでも、デプロイの目標は常にで実行されhtmlTestModuleます。ありがとう

4

1 に答える 1

0

ここでは間違ったアプローチを取っていると思います。説明させてください。

Mavenのdeployフェーズは、リモートサーバーなどにデプロイすることを意味するものではありません。これは、リモートリポジトリにデプロイすることを目的としています。

deployしたがって、モジュールのデプロイフェーズをスキップするのではなく、たとえば特定の目標にすることで、デプロイをフェーズからリモートTomcatサーバーに結び付けないようにする必要があると思います。

于 2011-04-06T07:40:17.927 に答える