Ich muss meinem jar Standard-JVM-Optionen hinzufügen, wenn ich mit Gradle arbeite. Ich Aus der Dokumentation bekam, dass ich setzen:Wie füge ich Standard-JVM-Argumente mit Gradle hinzu
applicationDefaultJvmArgs = ["-Djavafx.embed.singleThread=true"]
Ich habe nicht viel Erfahrung mit Gradle und dem Entwickler, der die build.gradle Datei geschrieben schrieb es anders aus, was die meisten Websites geben als Beispiele. Hier
ist die build.gradle:
apply plugin: 'java'
apply plugin: 'eclipse'
version = '0.1'
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.+'
compile 'placeholder'
}
task release(type: Jar) {
manifest {
attributes("Implementation-Title": "placeholder",
"Implementation-Version": version,
'Main-Class': 'placeholder.Application')
}
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
task wrapper(type: Wrapper) {
gradleVersion = '2.2.1'
}
Ich weiß nicht, wo die Argumente zu setzen. Ich versuchte, sie an verschiedenen Standorten setzen, aber ich habe immer bekommen:
A problem occurred evaluating root project 'placeholder'.
> No such property: applicationDefaultJvmArgs for class: org.gradle.api.tasks.bundling.Jar_Decorated
Vielen Dank, Jhonny
Wann müssen Sie den JVM-Parameter hinzufügen? Könnten Sie einfach die Systemvariable in der Static der Initialisierung Ihrer Hauptklasse setzen? – Ethan
Ich muss den Parameter zur Kompilierzeit hinzufügen, so dass der Benutzer es nicht manuell hinzufügen muss, wenn er seine .jar – Jhonny007
Sie können etwas wie 'System.setproperty (" javafx.embed.singleThread "," true ")' in Code, aber Sie werden sicherstellen, dass diese Anweisung ausgeführt wird, bevor die Systemeigenschaft irgendwo aufgerufen wird. – KKishore