Win7でMavenを使用してアプリケーションを構築しています。 execプラグインを使用してpythonスクリプトを呼び出します。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>create-dir</id>
<phase>process-classes</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>src/main/upgrade/create.py</executable>
<arguments>
<argument>ChangeSet.txt</argument>
</arguments>
</configuration>
</plugin>
プロジェクトをビルドすると、以下のエラーが発生します。
Embedded error: Cannot run program "pathToScript/create.py" CreateProcess error=193, %1 is not a valid Win32 application
pythonがインストールされ、%PATH変数に追加されています。
OSプラットフォームから独立して動作するように修正するにはどうすればよいですか?
。:-編集-:。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<configuration>
<executable>python</executable>
<workingDirectory>src/main/upgrade/</workingDirectory>
<arguments>
<argument>createChangeSet.py</argument>
</arguments>
</configuration>
<id>python-build</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
Windowsでは、スクリプトは実行可能ではありません。実行可能ファイルはpythonインタープリターであり、スクリプトはその引数であるため、<executable>path to your python interpreter</executable>
を入力し、スクリプトを<argument>
として追加します。同じことが機能するはずです。どのプラットフォームでも、私はPythonエキスパートではありません。
新しいバージョンのexec-maven-pluginでそれを追加したかっただけで、構成タグを実行タグの後に配置する必要があります。
上記の作業スニペットのように:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>python-build</id>
<phase>prepare-package</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>python</executable>
<workingDirectory>src/main/upgrade/</workingDirectory>
<arguments>
<argument>createChangeSet.py</argument>
</arguments>
</configuration>
</plugin>