スクリプトがバンドルをデプロイすることになっているので、コンパイルフェーズ後にmavenを実行したいと考えています。ここで私は私のリリースモジュールで利用しようとしているプラグインです:exec-maven-pluginは.shスクリプトを実行できません:アクセスが拒否されました
<plugin>
<artifactId>exec-maven-plugin</artifactId>
<groupId>org.codehaus.mojo</groupId>
<executions>
<execution>
<id>deploy-bundles</id>
<phase>install</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${basedir}/deploy.sh</executable>
</configuration>
</execution>
</executions>
</plugin>
ことが確認されていますので、私は、正しいパスにdeploy.sh
を持っています。私はmvn install
を行うときに今、私は次のエラーを取得:
[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (deploy-bundles) on project module.release: Command execution failed. Cannot run program "/bla/bla/module.release/deploy.sh" (in directory "/bla/bla/module.release"): error=13, Permission denied -> [Help 1]
まず、私はそれが私が書いたbashスクリプトについてだと思いました。だから私はこのような単純なbashスクリプトに変更した:
#!/bin/bash
STR="Hello World!"
echo $STR
しかし、私は同じエラーが発生しました。だから、コードに関してではありません。特別な権利を与えるべきですか? sudo
コマンドを使用する必要がありますか?
スクリプトには実行権限が必要です。 exec-maven-pluginはそれに関連していません... linux 'chmod + x deploy.sh'で実行属性を設定する必要があります。バージョン管理(git、subversion)に追加する必要があります... – khmarbaise
ユーザーが 'chmod'などを扱っているはずなので、単純な' mvn install'コマンドですべてを行う必要があります。これを処理するようにMavenに指示する方法はありますか? –
私はあなたが正しくアクセス許可を設定し、それをあなたのバージョンコントロールに正しく入れておく必要があると言ったので...私はあなたが何をすべきかを知らないのですか? – khmarbaise