स्टैंडअलोन परिदृश्य के लिए, आप केवल Gradle (या मेवेन) का उपयोग वसा बनाने के लिए कर सकते हैं (जिसका अर्थ है एम्बेडेड जेटी सर्वर सहित सभी निर्भरताएं), निष्पादन योग्य जार फ़ाइल।
apply plugin: 'java'
apply plugin: 'application'
// TODO Change this to your class with your main method
mainClassName = "my.app.Main"
defaultTasks 'run'
repositories {
mavenCentral()
}
dependencies {
compile group: 'com.sparkjava', name: 'spark-core', version: '2.5.5'
// TODO add more dependencies here...
}
// Create a fat executable jar
jar {
manifest {
attributes "Main-Class": "$mainClassName"
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
archiveName "app.jar"
}
gradle build
के माध्यम से कमांड लाइन पर आप आवेदन बिल्ड: यहाँ एक सरल build.gradle
फ़ाइल सिर्फ इतना है कि करता है। यह तो बस चलाने के लिए अपनी build/libs
फ़ोल्डर में एक app.jar
फ़ाइल बनाने जाएगा:
java -jar build/libs/app.jar
तुम सच में तारीख तक :) तो आप अपने JRE और आवेदन जार पैकेज Docker उपयोग करने के लिए होना चाहते हैं, इस प्रकार आप नहीं कर रहे हैं सर्वर पर स्थापित सॉफ़्टवेयर स्टैक पर निर्भर है।ऐसा करने के लिए हम एक Dockerfile
उपयोग कर सकते हैं:
FROM java:8
ADD build/libs/app.jar/
EXPOSE 4567
ENTRYPOINT ["java", "-jar", "app.jar"]
बिल्ड डोकर छवि और इसे चलाने, जैसे:
docker build -t myapp:v1 .
docker run --rm --name myapp -p 4567:4567 myapp:v1
बेशक
आप किसी दूरस्थ वेब सर्वर पर डोकर छवि का उपयोग करना चाहते हैं, आप इसे Docker Hub या एक निजी डॉकर रिपोजिटरी पर धक्का देने की आवश्यकता है और इसे चलाने से पहले अपने सर्वर पर खींचने के लिए docker pull
का उपयोग करें।
आप जेटी को युद्ध में शामिल होने से कैसे फ़िल्टर करते हैं? – voddan