Gradle задача для запуска Nashorn JavaScript
Может ли быть аналог gradle/groovy кода для запуска java -Djava.library.path=lib -jar lib/avatar-js.jar helloWorld.js
, то есть, запуская файл.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 '
}
}
}
Единственные связанные документы, которые я нашел ( Построить и запустить jar внутри задачи Gradle) - это строка из главы 45. Плагин приложения
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
1 ответ
Решение
Здесь у вас есть 2 задачи, которые будут запускать сервер:
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'
}