java无法运行程序,权限被拒绝
我为Jenkin上的安卓新项目创建了一份新工作。每当我运行作业时,都会出现错误java。木卫一。ioexception错误13权限被拒绝。詹金说无法运行gradlew程序。根据错误解释,我知道gradlew脚本需要执行权限。我批准了这些,然后重新开始詹金的工作。我仍然会犯同样的错误。Jenkin在生成后恢复执行权限。当我从现有作业创建新作业并配置旧项目存储库时,它运行良好。当我配置新的项目存储库时,它引发了权限问题。我在允许的情况下玩了很多,但没有成功。我还比较了新旧项目脚本文件。虽然有几行不同,但这不应该是一个问题。任何人都能告诉我我做错了什么
谢谢
# 1 楼答案
这显然是一个许可问题
有两种解决gradlew权限问题的解决方案
当您现在按build时,Jenkin将更改权限。请记住,这些更改是未提交的。如果您的作业不是发布作业,则该过程可以正常工作。如果它是发布作业,它会产生我遇到的另一个问题
因此,解决问题是非常重要的
使用可执行位集提交gradlew:
然后,您将不再需要jenkins设置将其设置为可执行,这是导致第二个问题的解决方法
希望这能节省一些人的时间,因为我花了好几个小时在周围工作
# 2 楼答案
您是否使用Jenkins文件进行作业配置? 如果是这样,您需要在此处添加gradlew的权限更改
听起来你的gradlew每次都会被一个没有执行权限设置的版本替换,所以你需要通过脚本或jenkins文件作为jenkins作业的一部分来执行
# 3 楼答案
我使用Github进行源代码管理。它在那里获取代码,并且每次都在更新,所以在提交我的Jenkins作业之前将其更改为+x并没有帮助。 在Linux中,项目位于/。jenkins/workspace/MyProjectName/SomeSubFolder/gradlew——每次提交新作业时都会失去+x(我想是644)
解决方案是选中
Make gradlew executable
复选框(在Build > Use Gradle Wrapper
)-现在是755,正在执行gradle任务