Vorrei incorporare le informazioni sulle dipendenze nel mio file manifest, in modo da poter esporre queste informazioni in fase di runtime. Ad esempio, posso vedere quale versione di una libreria è utilizzata da una particolare istanza in esecuzione del mio servizio.utilizza gradle per incorporare le informazioni sulle dipendenze nel manifest
sto usando Gradle per costruire il mio 'fatjar':
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)
}
}
E ho dipendenze da diverse altre librerie:
dependencies {
compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.39'
...
}
Come posso aggiungere le informazioni sulle dipendenze nel mio file manifesto ? Per esempio:
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
Sembra fantastico: c'è anche un modo per includere le dipendenze anche dai miei sottomoduli? Cioè, ho un modulo 'core' e un modulo 'servizio', e le mie librerie sono tutte nel core - stanno attualmente mostrando come dipendenza-core: service: Service: Local Build –