簡體   English   中英

maven跳過包裝階段

[英]maven skip packaging phase

我正在對一個ANT項目進行整理並構建POM文件。 當前的ANT構建文件有一個使用weblogic的JwscTask生成2個EAR文件的目標。 現在我只需要將這兩個EAR文件部署到遠程repo的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>

使用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

實際上,除非您創建了settings.xml否則甚至不需要-DrepositoryId參數,因為存儲庫需要用戶名和密碼或需要代理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM