【问题标题】:mvn command is not getting executed in cronmvn 命令未在 cron 中执行
【发布时间】:2020-09-15 17:48:57
【问题描述】:

我想通过一个shell脚本来执行maven命令(mvn),通过cron来执行。

我的 shell 脚本

echo "setting the variables"

export M2_HOME=/Users/<XXXXX>/Downloads/apache-maven-3.5.2
export M2=/Users/<XXXXX>/Downloads/apache-maven-3.5.2/bin
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre
export PATH=$PATH:/Users/<XXXXX>/google-cloud-sdk/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/<XXXXX>/Documents/Software/neo-java-web-sdk-3.54.23/tools:/Users/<XXXXX>/Downloads/apache-maven-3.5.2/bin:/usr/local/go/bin:/Applications/Privileges.app/Contents/Resources:JAVA_HOME/bin


echo "variables set"


{
 /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/bin/java -version > /Users/<XXXXX>/git/SimpleTests/org.saurav.simpletests/java.log

} || {

 echo "java command failed"
}


{
 /Users/<XXXXX>/Downloads/apache-maven-3.5.2/bin/mvn -version
} || {

 echo "mvn command failed"
}


echo "Tests Executed"

output.log 总是打印

setting the variables
variables set
mvn command failed
Tests Executed

所以,看来 mvn 命令执行失败了。

java 命令执行的输出已重定向到 java.log 但打印为空。但似乎 java 命令正在执行,因为这里没有打印回退回显语句。

最好的问候,

苏拉夫

【问题讨论】:

    标签: shell maven cron


    【解决方案1】:

    mvn 文件执行似乎是受保护的文件执行。

    对于 Mac Mojave,访问受保护文件的程序必须获得完整的磁盘访问权限

    请看这里

    https://apple.stackexchange.com/questions/378553/crontab-operation-not-permitted

    https://support.intego.com/hc/en-us/articles/360016683471-Enable-Full-Disk-Access-in-macOS

    按照链接 1 中提到的步骤操作后,它开始工作了。

    最好的问候, 索拉夫

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-28
      • 2020-11-06
      • 1970-01-01
      • 2014-10-30
      • 1970-01-01
      • 1970-01-01
      • 2020-03-23
      • 1970-01-01
      相关资源
      最近更新 更多