में निर्भरता जानकारी एम्बेड करने के लिए ग्रेडल का उपयोग करें, मैं अपनी मैनिफेस्ट फ़ाइल में निर्भरता जानकारी एम्बेड करना चाहता हूं, ताकि मैं इस जानकारी को रनटाइम पर बेनकाब कर सकूं। यानी मैं देख सकता हूं कि लाइब्रेरी का कौन सा संस्करण मेरी सेवा के एक विशेष चल रहे उदाहरण द्वारा उपयोग किया जाता है।मैनिफेस्ट
मैं Gradle उपयोग कर रहा हूँ मेरे '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)
}
}
और मैं विभिन्न अन्य पुस्तकालयों पर निर्भरता है:
dependencies {
compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.39'
...
}
मैं अपने मैनिफ़ेस्ट फ़ाइल में निर्भरता जानकारी जोड़ सकते हैं ? उदाहरण के लिए:
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
यह बहुत अच्छा लग रहा है - क्या मेरे उप-मॉड्यूल से भी निर्भरता शामिल करने का कोई तरीका है? यही है, मेरे पास 'कोर' मॉड्यूल और 'सेवा' मॉड्यूल है, और मेरी लाइब्रेरी सभी कोर में हैं - वे वर्तमान में निर्भरता-कोर के रूप में दिख रहे हैं: सेवा: सेवा: स्थानीय बिल्ड –