2012-09-28 102 views
1

許多Maven插件都有一個配置選項「skip」,它應該跳過插件的執行。看起來好像在命令行上設置這些選項沒有任何影響:mvn -Dxy.skip = true不起作用

[[email protected] ~/er]$ mvn clean test -Dpmd.skip=true -Dlicense.skip=true 
[INFO] Scanning for projects... 

... etc.etc. 

[INFO] 
[INFO] --- maven-license-plugin:1.4.0:check (check-headers) @ eranger --- 
[INFO] Checking licenses... 
[INFO] 
[INFO] >>> maven-pmd-plugin:2.7.1:check (pmd-check) @ eranger >>> 
[INFO] 
[INFO] --- maven-pmd-plugin:2.7.1:pmd (pmd) @ eranger --- 
[INFO] 
[INFO] <<< maven-pmd-plugin:2.7.1:check (pmd-check) @ eranger <<< 
[INFO] 
[INFO] --- maven-pmd-plugin:2.7.1:check (pmd-check) @ eranger --- 

... etc.etc. 

pmd和許可證插件仍然執行。任何想法如何真正跳過它們?

回答

2

該插件已加載但未完全執行;否則,你會看到很多PMD輸出分析你的代碼。

發生這種情況的原因是,選項pmd.skip由PMD插件本身評估,所以Maven必須加載它。該插件將檢查該選項並立即退出。

如果這對你來說仍然太多,請將插件移動到profile

[編輯]由於Maven的許可證插件應該支持skipsee the docs),你可能已經發現了一個bug。

我建議:

  1. 提交錯誤報告
  2. 移動插件到配置文件(見上文)
+0

但這種許可協議插件如仍然檢查所有文件。運行mvn -Dlicense.skip = true -X時,可以看到類似「[DEBUG] Header OK:C:\ some \ file.java」的調試日誌。 – James

+0

哪個插件是那個?請發佈主頁的URL。 –

+0

這就是[maven-license-plugin](http://code.google.com/p/maven-license-plugin/wiki/Configuration) – James

相關問題