[英]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.