首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使"./gradlew“与"sudo ./gradlew”相同?

如何使"./gradlew“与"sudo ./gradlew”相同?
EN

Stack Overflow用户
提问于 2016-04-21 08:03:49
回答 2查看 1.9K关注 0票数 0

我正在一台salve机器上设置Jenkins的工作,而且我对Linux还很陌生。现在我有个问题:

作为Jenkins登录(为Jenkins作业设置的一个用户帐户),它执行./gradlew,而不是开始下载https://downloads.gradle.org/distributions/gradle-2.10-bin.zip,并且它会因为网络不好而失败,而如果它执行"sudo ./gradlew“,它将开始正常运行gradle。

有人能帮忙告诉我,如何使"./gradlew“与用户jenkins的"sudo ./gradlew”相同吗?

shell脚本来自git,所以我不能通过添加"sudo“来修改它。

在我的实际工作场景中添加日志:

代码语言:javascript
复制
jenkins@reed:/local/jenkins/workspace/SV_TEST_/automation/robot$ id
uid=180(jenkins) gid=0(root) group=0(root)

jenkins@reed:/local/jenkins/workspace/SV_TEST_/automation/robot$ sudo ./gradlew webAPI:compileJava
Starting a new Gradle Daemon for this build (subsequent builds will be faster).
:common:compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.7
:common:processResources UP-TO-DATE
:common:classes
:common:jar
:webAPI:compileJava
warning: [options] bootstrap class path not set in conjunction with -source 1.7

BUILD SUCCESSFUL

Total time: 10.204 secs
jenkins@reed:/local/jenkins/workspace/SV_TEST_/automation/robot$ /local/jenkins/workspace/SV_TEST/automation/robot/gradlew -g /local/jenkins/.gradle -p /local/jenkins/workspace/SV_TEST/automation/robot clean 
Downloading https://services.gradle.org/distributions/gradle-2.10-bin.zip
...
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-22 06:41:12

谢谢大家的善意回答,我找到了解决问题的方法:-)

我切换到root以检查~/. gradle,发现文件非常完整,而jenkins的~/.gradle只有一个包装文件夹,所以我将根目录的~/.gradle全部复制到jenkins的根目录,而不是像jenkins一样正常运行gradle。

票数 0
EN

Stack Overflow用户

发布于 2016-04-21 09:35:27

尝试将gradlew中的最后一行替换为以下内容:

代码语言:javascript
复制
exec sudo "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH"  org.gradle.wrapper.GradleWrapperMain "$@"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36763441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档