java - 运行 Nashorn JavaScript 的 Gradle 任务

标签 java javascript gradle nashorn avatarjs

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

或者使用定义的依赖

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

最佳答案

这里有 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'
}

关于java - 运行 Nashorn JavaScript 的 Gradle 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23148214/

相关文章:

javascript - SproutCore 和 Cappuccino

android - 带有Gradle的Android Google Maps API v1

java - Android通过gradle修改导入的库

gradle - 如何集中Gradlebuild设置?

java - 递归,计算正整数之和

java - JFrame 没有出现在 ubuntu 中

java - 这是通用的自动装箱吗?

java - 为 Spring 的 spring-azure-starter-storage 配置 HTTPS 连接

javascript - “router-outlet”不是 Angular 2 的已知元素

javascript - 如何在js中创建 TreeView