Gradle - pas de manifester de l'attribut
Je suis une sorte de fou avec cette erreur que j'obtiens lorsque l'exécution d'un fichier JAR construite hors Gradle. L'erreur indique "pas de manifester de l'attribut, dans RxJavaDemo.jar" j'ai essayé de manipuler le Manifeste de la propriété, mais je pense que je vais oublier d'ajouter les dépendances ou quelque chose. Qu'est-ce exactement je fais mal?
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'demo.MainDashboard'
dependencies {
compile files ("H:/Processes/Development/libraries/hikari-cp/HikariCP-2.4.1.jar")
compile files ("H:/Processes/Development/libraries/controls-fx/controlsfx.jar")
compile files ("H:/Processes/Development/libraries/database_connections/sqlite-jdbc-3.8.6.jar")
compile files ("H:/Processes/Development/libraries/guava/guava-18.0.jar")
compile files ("H:/Processes/Development/libraries/rxjava/rxjava-1.0.12.jar")
compile files ("H:/Processes/Development/libraries/rxjava-extras/rxjava-extras-0.5.15.jar")
compile files ("H:/Processes/Development/libraries/rxjavafx/RxJavaFX-1.0.0-RC1-SNAPSHOT.jar")
compile files ("H:/Processes/Development/libraries/rxjavaguava/rxjava-guava-1.0.3.jar")
compile files ("H:/Processes/Development/libraries/rxjava-jdbc/rxjava-jdbc-0.6.3.jar")
compile files ("H:/Processes/Development/libraries/slf4j/slf4j-api-1.7.12.jar")
compile files ("H:/Processes/Development/libraries/tom-commons/tom-commons.jar")
}
sourceSets {
main.java.srcDir "src/main/java"
main.resources.srcDir "src/main/resources"
}
jar {
manifest {
attributes(
"Class-Path": configurations.compile.collect { it.getName() }.join(' '))
}
from configurations.compile.collect { entry -> zipTree(entry) }
}
Vous devez vous connecter pour publier un commentaire.
Essayez de changer votre manifeste des attributs comme:
Et puis il suffit de changer
'hello.helloWorld'
à'<your packagename>.<the name of your Main class>'
(où votre classe Principale dispose d'une méthode principale). Dans ce cas, vous faites dans votre manifeste, un attribut, qui point à cette classe, puis un pot est en cours d'exécution.collect {}
partie pour le faire fonctionner pour moi. Votre code suppose que toutes les dépendances sont dans le même dossier que votre classe principale.FWIW - j'ai utilisé le jar suivants tâche de rassembler tous les ma compilation de dépendances dans le fichier jar, et utilisé la recommandation ci-dessus pour demander à la classe de chemin de définir correctement