java - Gradle + rhino执行脚本

标签 java groovy gradle

这是我第二次使用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/

相关文章:

java - Activiti:如何在 Activiti DB 上保存已挂起 Activiti 流程实例的用户

groovy - Groovy 如何解析带有空格的方法调用

android - 在 IDE 外部使用 Gradle 构建 APK(从 Ant 迁移)

java - Pig Udf 在显示结果

java - 为什么使用 JPA 而不是使用 JDBC 编写 SQL 查询?

syntax - 如何 Groovy-ify 空检查?

android-studio - 将 Android Studio 更新到 v13 后无法解析 R

android - 无法同步gradle项目:无法找到方法DefaultSourceDirectorySet

Java XML 分句删除节点

hibernate - 用 Grails 动态查找器匹配 hasMany children