2017-10-31 13 views
0

mavenビルド中にファイルに書き込むpowershellスクリプトを実行しようとしています。Maven execプラグインが実行されていません

Eclipse IDEを使用してmvn clean installでビルドを呼び出しています。

これは私のpom.xmlでのプラグインです:

 <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.6.0</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>exec</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <executable>${project.basedir}/.my-file.ps1</executable> 
      </configuration> 
     </plugin> 
    </plugins> 

私は、ファイル名の前に.を持っている理由ですので、PowerShellスクリプトは隠しファイルです。

しかし、プラグインは実行されていません。公式documentationの指示に従っています。

+0

実行ファイルは実際には 'powershell.exe'であり、スクリプトは引数です。 – brendan62269

+0

@ brendan62269 *プラグイン自体は実行中ではありません。プラグインが起動していません。実際に起動して実行しようとすると、powershellスクリプトが実行されたかどうかを示す何らかの出力が得られます。しかし、*プラグイン自体は実行されていません。 – Kingamere

答えて

1

あなたはmvn clean installを実行していますが、さまざまなビルドフェーズが実行されますが、execプラグインの実行はどのフェーズにも関連付けられていません。あなたはどちらかにあります:

pre-integration-test相に添付するたとえば、あなたの実行に<phase>元素を添加することにより、位相にあなたの実行を取り付けます

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <version>1.6.0</version> 
     <executions> 
      <execution> 
       <id>my-exec</id> 
       <phase>pre-integration-test</phase> 
       <goals> 
        <goal>exec</goal> 
       </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <executable>${project.basedir}/.my-file.ps1</executable> 
     </configuration> 
    </plugin> 

または使用して、具体的execの目標を呼び出すをmvn exec:execコマンド。

ビルドのMavenライフサイクルとさまざまな段階に精通していない場合は、Introduction to the Build Lifecycleガイド、またはPluginsの部分を読んで、プラグインの実行とフェーズの添付についての詳細をご覧ください。

+0

ありがとう、これは働いた。しかし、ここのプラグインのドキュメントhttp://www.mojohaus.org/exec-maven-plugin/usage.htmlでは、要素の使用については言及していませんか?プラグインの目標の中には、デフォルトでは特定のフェーズにバインドされているものがあり、フェーズエレメントは不要なので、このプラグインには当てはまると思っていました。これはドキュメントにも記載されていません。 – Kingamere

+0

あなたは歓迎です:)通常、プラグインのドキュメントには、デフォルトのフェーズバインディング(Surefireプラグインなど)があるかどうかが記述されています。そうでない場合は、デフォルトではどのフェーズにもバインドしないものとします。 プラグイン設定は、ビルドライフサイクルの主な概念の1つです。 Mavenの初心者のための証拠にはあまりうまくいきませんが、docはhttp://maven.apache.org/pom.html#PluginsのGetting Startedの直後に見つけることができ、デフォルトのプラグインのバインディングは少し隠されています。http: //maven.apache.org/ref/3.2.2/maven-core/default-bindings.html。これらの概念を文書の前半に導入することをお勧めします。 –

関連する問題