【问题标题】:Gradle task to run Nashorn JavaScript运行 Nashorn JavaScript 的 Gradle 任务
【发布时间】:2014-06-02 14:44:59
【问题描述】:

是否有用于启动java -Djava.library.path=lib -jar lib/avatar-js.jar helloWorld.js 的 gradle/groovy 代码模拟,即使用 Java 8 启动 .js 文件并传递一些库

或使用定义的依赖项

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'

repositories {
    maven {
        url "https://maven.java.net/content/repositories/public/"
    }
}

dependencies {
    compile "com.oracle:avatar-js:0.10.25-SNAPSHOT"
    compile "com.oracle:libavatar-js-win-x64:0.10.25-SNAPSHOT"
}

task copyLibs(type: Copy) {
    from configurations.compile
    into 'lib'
}

sourceSets {
    main {
        java {
            srcDir 'src'
        }
        resources {
            srcDir 'src '
        }
    }
}

我找到的唯一相关文档 (Build and run a jar inside of a Gradle task) 是来自 Chapter 45. The Application Plugin 的行

 startScripts   jar     CreateStartScripts  Creates OS specific scripts to run the project as a JVM application.

应用程序插件依赖于 Java,无法为 JavaScript 或 C/C++ 定义任务 CreateStartScripts 需要 String mainClassName(不是要运行的文件)

来源https://github.com/PaulVI/NashornSandbox

【问题讨论】:

  • 据我了解这个问题有可能用gradle 启动这样的命令,但只能调用系统命令(启动外部进程)。看看这里:groovy.codehaus.org/Executing+External+Processes+From+Groovy。如果那是您正在寻找的东西,并且您只需要编写一个可以完成的任务,请告诉我。会尽力帮助你。
  • 目前任何解决方案;我现在拥有的是github.com/PaulVI/NashornSandbox/issues/1
  • 如果它工作它似乎没问题。
  • 它没有。让我们继续在 GitHub 上聊天..

标签: java javascript gradle nashorn avatarjs


【解决方案1】:

这里有 2 个将运行服务器的 gradle 任务:

task runHelloWorld(type: Exec) {
    commandLine 'java', '-Djava.library.path=lib', '-jar', 'lib/avatar-js.jar', 'helloWorld.js'
}

task runHelloWorld2(type: JavaExec) {
    args 'helloWorld.js'
    main 'com.oracle.avatar.js.Server'
    systemProperties 'java.library.path':'lib'
    classpath 'lib/avatar-js.jar'
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2015-12-30
  • 1970-01-01
  • 1970-01-01
  • 2021-04-21
  • 2023-02-24
  • 2020-07-09
相关资源
最近更新 更多