这是我第二次使用gradle,我有一个小问题,如何在gradle中执行js脚本。
我尝试使用命令行,它工作正常
task optimizeScript(type: Exec) {
commandLine 'java', '-classpath', 'path/to/rhino/js.jar:path/to/closure/compiler.jar', 'org.mozilla.javascript.tools.shell.Main', 'r.js', 'main.js'
}
但我认为有更好的使用 gradle 的方法。也许我可以在没有命令行的情况下执行脚本?我想首先我可以从 mvn 获取这些依赖项,然后编写脚本,例如
dependencies {
compile rhino
compile otherstuff
}
task optimizeScript() {
org.mozilla.javascript.tools.shell.Main('r.js main.js')
}
(当然这个脚本不起作用)
最佳答案
可以通过以下方式完成:
build.gradle
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile 'rhino:js:1.7R2'
}
task runJS(type: JavaExec) {
classpath configurations.compile
main 'org.mozilla.javascript.tools.shell.Main'
args 'run.js'
standardOutput = new FileOutputStream(project.file('stdout'))
errorOutput = new FileOutputStream(project.file('stderr'))
}
run.js
function f(x) {
return x+1
}
print(f(7))
运行gradle runJS
后,stdout
文件包含8。
关于java - Gradle + rhino执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29799584/