Ich möchte Abhängigkeitsinformationen in meine Manifestdatei einbetten, sodass ich diese Informationen zur Laufzeit bereitstellen kann. d. h., ich kann sehen, welche Version einer Bibliothek von einer bestimmten laufenden Instanz meines Dienstes verwendet wird.Verwenden Sie Gradle zum Einbetten von Abhängigkeitsinformationen in das Manifest
ich gradle bin mit meinem ‚fatjar‘ bauen:
shadowJar {
mergeServiceFiles()
archiveName "service.jar"
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
manifest {
attributes('Main-Class': "service.Service",
'Built-By': System.getProperty('user.name'),
'Built-Date': new Date(),
'Built-JDK': System.getProperty('java.version'),
'Implementation-Version': version,
'Implementation-Title': project.name)
}
}
Und ich habe Abhängigkeiten von verschiedenen anderen Bibliotheken:
dependencies {
compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.39'
...
}
Wie kann ich die Abhängigkeitsinformationen in meinem Manifest-Datei hinzufügen ? Zum Beispiel:
Manifest-Version: 1.0
Implementation-Title: service
Implementation-Version: Local Build
Built-By: me
Built-Date: Wed Jun 22 14:13:53 BST 2016
Built-JDK: 1.8.0_91
Main-Class: service.Service
Dependency-mysql-connector-java: mysql:mysql-connector-java:5.1.39
Das sieht gut aus - gibt es auch eine Möglichkeit, Abhängigkeiten von meinen Sub-Modulen zu integrieren? Das heißt, ich habe ein "Kern" -Modul und ein "Service" -Modul, und meine Bibliotheken sind alle im Kern - sie werden derzeit als Abhängigkeits-Kern angezeigt: service: Service: Local Build –