4

ANTプロジェクトを作成し、POMファイルを作成しています。現在のANTビルドファイルには、weblogicのJwscTaskを使用して2つのEARファイルを生成するターゲットがあります。これで、これら2つのEARファイルのみをリモートリポジトリのweblogicサーバーにデプロイする必要があります。Mavenにパッケージを生成させたくありませんが、生成された2つのEARファイルを取得してデプロイします。基本的に、クリーン、コンパイル、デプロイの各フェーズはMavenが処理する必要があります。パッケージングは​​ANTによって行われます。pomファイルのmaven-antrun-pluginを使用して、build.xmlファイルのターゲットを呼び出します。

パッケージを「POM」として選択した場合、Mavenはパッケージを生成しませんが、srcファイルもコンパイルしません。

Mavenライフサイクルのパッケージフェーズをスキップする方法はありますか?POMでパッケージをWARとして指定したとしますが、WARファイルの生成をスキップして、2つのEARファイルをデプロイする方法はありますか?

POMファイルのセクションは次のとおりです。

<build>
  <plugins>
   <plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-antrun-plugin</artifactId>
     <version>1.3</version>
     <executions>
      <execution>
        <phase>package</phase>
        <configuration>
        <tasks>
            <ant antfile="${basedir}/build.xml" target="build-service"/>
        </tasks>
        </configuration>
        <goals>
          <goal>run</goal>
        </goals>
      </execution>
     </executions>
   </plugin>
  </plugins>
</build>
4

1 に答える 1

3

mvn deploy:deploy-fileゴールを使用します。これにより、Mavenでプロジェクトの残りの部分を実行しなくても、ファイルをリポジトリーにデプロイできます。pom.xml一緒にデプロイするか、さまざまなパラメーターを指定することができます。

$ mvn deploy:deploy-file -Dfile=app.ear \
    -DpomFile=pom.xml \
    -DrepositoryId=VeggieCorp \
    -Durl=http://mvn.veggiecorp.com/releases

または

$ mvn deploy:deploy-file -Dfile=app.ear \
    -DgroupId=com.veggicorp \
    -DartifactId=app \
    -Dversion=3.2.1 \
    -DrepositoryId=VeggieCorp \
    -Durl=http://mvn.veggiecorp.com/releases

実際、リポジトリにはユーザー名とパスワードが必要であるか、プロキシが必要であるため、-DrepositoryIdを作成していない限り、パラメータは必要ありません。settings.xml

于 2012-08-23T03:18:05.290 に答える