2016-07-15 2 views
0

スクリプトがバンドルをデプロイすることになっているので、コンパイルフェーズ後に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コマンドを使用する必要がありますか?

+1

スクリプトには実行権限が必要です。 exec-maven-pluginはそれに関連していません... linux 'chmod + x deploy.sh'で実行属性を設定する必要があります。バージョン管理(git、subversion)に追加する必要があります... – khmarbaise

+0

ユーザーが 'chmod'などを扱っているはずなので、単純な' mvn install'コマンドですべてを行う必要があります。これを処理するようにMavenに指示する方法はありますか? –

+1

私はあなたが正しくアクセス許可を設定し、それをあなたのバージョンコントロールに正しく入れておく必要があると言ったので...私はあなたが何をすべきかを知らないのですか? – khmarbaise

答えて

2

スクリプトに適切な権限を設定し、権限をgit(.gitattributes)またはSubversion(svn:executableプロパティ)のいずれかのバージョンコントロールにも入れる必要があります。

+0

ありがとうございます。 Gitのための正しい方法は[this](http://stackoverflow.com/a/10783833/6533075)ですか? –

関連する問題