【问题标题】:Gradle + rhino execute scriptsGradle + rhino 执行脚本
【发布时间】:2015-04-22 13:47:05
【问题描述】:

这是我的第二个 gradle 使用,我对如何在 gradle 中执行 js 脚本有一个小问题。

我尝试使用 commandLine 并且效果很好

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')
}

(当然这个脚本不起作用)

【问题讨论】:

    标签: java groovy gradle


    【解决方案1】:

    可以通过以下方式完成:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-11
      • 2021-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      相关资源
      最近更新 更多