exec-maven-plugin无法执行.sh脚本:权限被拒绝
问题描述:
我有一个bash脚本,我希望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
但是,我得到了同样的错误。所以它不是关于代码。我应该给予maven特殊权利吗?应该使用sudo
命令?
答
您需要为脚本设置适当的权限,并将权限也放入版本控制git(.gitattributes)或Subversion(svn:executable属性)中。
+0
谢谢。是[这](http://*.com/a/10783833/6533075)正确的方式来做它的Git? –
该脚本必须具有执行权限。 exec-maven-plugin并不相关...你需要在linux'chmod + x deploy.sh'上设置执行属性,你还需要将它添加到你的版本控制(git,subversion)... – khmarbaise
我想要所有事情都要用简单的'mvn install'命令完成,因为用户应该处理'chmod'等。有没有办法告诉maven来处理这个问题? –
正如我所说的,您需要正确设置权限并将其正确地放入您的版本控制中......我不知道您的用户应该是什么意思? – khmarbaise