我正在使用maven發行版插件。問題很簡單:我不想在發佈時進行部署:執行。我實際上想要執行一個shell腳本來爲我執行部署。所以,我有兩兩件事要完成:Maven發行版:在不部署的情況下執行並調用外部shell腳本
不知何故禁用默認的「部署」自發布目標:執行
某種方式使發行:執行調用的exec:Exec插件執行shell腳本
這裏是我的POM:
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
<configuration>
<tagBase>svn://saoj-la.dyndns.org/webapp-test/tags</tagBase>
<connectionUrl>scm:svn:svn://saoj-la.dyndns.org/webapp-test/trunk</connectionUrl>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>/bin/sh</executable>
<arguments>
<argument>run.sh</argument>
</arguments>
</configuration>
</plugin>
使用安裝 開關「部署」到「安裝」的任務。謝謝。它應該是足夠的只是要做: 安裝exec:exec但釋放:執行不喜歡exec:exec:http://stackoverflow.com/questions/3445396/performrelease-calling-execexec-does-not-work -bug –
TraderJoeChicago
2010-08-10 01:29:20
@Sergio好吧,那不是我建議的,我不確定這可以工作。 – 2010-08-10 10:11:20
嘿帕斯卡爾。你的建議也行不通。因爲釋放:執行分叉另一個進程,不知何故配置文件未被激活。另一個問題是標籤,因爲版本:執行是一個目標,而不是一個階段。無論如何:我的解決方案是強制用戶在release:perform後手動調用exec:exec。發佈之後沒有簡單的級聯exec:exec的方法:執行。我不喜歡Maven是這樣的。簡單的事情變得非常困難。用螞蟻你可以完成任何你想要的。並不是說ANT更好,而是尊重KISS原則。 –
TraderJoeChicago
2010-08-10 14:39:48