2014-03-13 54 views
2

目前,我正在編寫一個maven插件,我想爲那些pathes設置兩個參數。在maven插件項目之外設置參數值

現在,問題是,我必須在插件本身或其POM.xml中定義它。 但這不是我想要的。

是否可以在項目的POM中定義要使用此插件的參數的值?在我看來,這會更有意義...

編輯: 好吧,寫入值的問題已解決。 但是我怎麼能把兩個不同的參數放在一個maven目標中呢?

這是一個辦法,我試圖解決這個問題:

public class ParameterMojo extends AbstractMojo 
    { 
/** 
* @parameter 
* 
* 
* @throws MojoExecutionException 
* @throws MojoFailureException 
*/ 
private String path; 
private String pathsave; 

/** 
* logs path 
* logs pathsave 
* 
* @throws MojoExecutionException 
* @throws MojoFailureException 
*/ 

POM:

<plugin> 
      <groupId>com.tup.test</groupId> 
      <artifactId>versionsextra</artifactId> 
      <version>1.0-SNAPSHOT</version> 
      <configuration> 
       <targetFile>target/site/etwas/versionsextra.html</targetFile> 
       <path>${basedir}/src/main/resources/configsys/dev/etc/deploy_env</path> 
       <environments> 
        <environment> 
         <name>Development</name> 
         <path>${basedir}/src/main/resources/configsys/dev/etc/deploy_env</path> 
         <pathsave>${basedir}/src/main/resources/configsys/dev/etc/test.txt</pathsave> 
        </environment> 
       </environments>  
      </configuration> 
     </plugin> 
+1

你就不能加配置塊給你的插件和設置的值嗎? –

+0

是的,我的錯是我用一個表達式做出來的,然後我必須在屬性部分定義它。 – julschi

+0

所以@StevenPessall有另一個問題。這樣我只能命名一個參數。但我需要兩個... – julschi

回答

0

你MOJO定義成員 「路徑」,它匹配在配置節點 「路徑」。它還定義了一個成員「pathsave」,但在你的pom下面沒有節點「pathsave」配置。環境節點中的節點「pathsave」不相關。

查看插件開發的Maven指南。有用於Mojos例子有多個參數:

https://maven.apache.org/guides/plugin/guide-java-plugin-development.html

+0

我閱讀本指南百次^^,只有一個參數,它的工作原理是這樣的... – julschi

+0

你可以添加你的pom的部分你使用MOJO嗎? –

+0

是的。我發佈了pom的一部分 – julschi