1

是否有用于启动的 gradle/groovy 代码模拟java -Djava.library.path=lib -jar lib/avatar-js.jar helloWorld.js,即使用 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 '
        }
    }
}

我发现的唯一相关文档(在 Gradle 任务中构建和运行 jar)是第 45 章中的一行。应用程序插件

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

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

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

4

1 回答 1

3

在这里,您有 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'
}
于 2014-04-19T14:22:28.687 回答