Browser 在默认浏览器中打开url的渐变任务
如何从gradle任务在浏览器中打开url?类似的操作应该可以:Browser 在默认浏览器中打开url的渐变任务,browser,task,gradle,Browser,Task,Gradle,如何从gradle任务在浏览器中打开url?类似的操作应该可以: task openUrlInBrowser { doLast { java.awt.Desktop.desktop.browse "http://www.google.com".toURI() } } 然后跑 gradle showReport 请参阅上的信息。我从中创建了一个功能,以支持windows和mac def browse(path) { def os = org.gradle.in
task openUrlInBrowser {
doLast {
java.awt.Desktop.desktop.browse "http://www.google.com".toURI()
}
}
然后跑
gradle showReport
请参阅上的信息。我从中创建了一个功能,以支持windows和mac
def browse(path) {
def os = org.gradle.internal.os.OperatingSystem.current()
if (os.isWindows()) {
exec { commandLine 'cmd', '/c', "start $path" }
} else if (os.isMacOsX()) {
exec { commandLine 'open', "$path" }
}
}
用法示例:
task browseTest {
doLast {
def file = project.file('build/reports/tests/testDebugUnitTest/index.html')
browse file
browse "https://stackoverflow.com/questions/14847296/gradle-task-to-open-a-url-in-the-default-browser"
}
}
非常简单,但在Gradle4.10.3中,java.awt.Desktop.getDesktop(Desktop.java:142)的
java.awt.HeadlessException和gradlew.bat
:(不工作,至少在Mac的Java12中:“>没有这样的属性:浏览类:java.awt.Desktop”你好Benjamin,我可以重新加载浏览器选项卡而不是打开新的选项卡吗?获取错误:Process'command'open''以非零退出值1完成
@ChadBingham什么是上下文?你可以从终端运行相同的命令吗?你在mac上吗?是的,我在mac上。为了解决这个问题,我使用了任务(类型:Exec)
,那么这种语法非常有效。
task browseTest {
doLast {
def file = project.file('build/reports/tests/testDebugUnitTest/index.html')
browse file
browse "https://stackoverflow.com/questions/14847296/gradle-task-to-open-a-url-in-the-default-browser"
}
}