मैं अपने स्प्रिंग-बूट एप्लिकेशन में एक वैकल्पिक प्रविष्टि बिंदु जोड़ना चाहता हूं। मैं इसे एक वसा जार के रूप में रखना पसंद करूंगा। क्या यह संभव है?वसंत बूट - वैकल्पिक स्टार्ट-क्लास निर्दिष्ट कैसे करें? (एकाधिक प्रविष्टि अंक)
उनके documentation के अनुसार, संपत्ति loader.main
लॉन्च करने के लिए मुख्य श्रेणी का नाम निर्दिष्ट करती है।
मैंने java -jar MyJar.jar --loader.main=com.mycompany.AlternateMain
की कोशिश की लेकिन मेरे pom.xml में निर्दिष्ट स्टार्ट-क्लास अभी भी चल रहा था (और यदि मैं इसे pom.xml से हटा देता हूं तो मैं पैकेजिंग के दौरान त्रुटि करता हूं)।
वैकल्पिक रूप से, मैंने java -cp MyJar.jar com.mycompany.AlternateMain
की कोशिश की लेकिन मुझे क्लासपाथ में सभी नेस्टेड जार जोड़ने का एक अच्छा तरीका पता नहीं है।
कोई सुझाव?
संपादित करें: यहाँ समाधान है कि मैं
इस्तेमाल किया JST के रूप में सुझाव दिया है, मैं अपने लांचर PropertiesLauncher उपयोग करने के लिए बदल दिया है। मैंने अपने वसंत-बूट-मेवेन-प्लगइन की कॉन्फ़िगरेशन को संशोधित करके ऐसा किया।
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>${start-class}</mainClass>
<layout>ZIP</layout>
...
<layout>ZIP</layout>
triggers Spring Boot to use the PropertiesLauncher
।
मैं अपने वसा जार (mvn पैकेज) बनाया तो इस तरह वैकल्पिक मुख्य बुलाया:
java -jar -Dloader.main=com.mycompany.AlternateMain MyJar.jar
मदद के लिए धन्यवाद!
स्प्रिंग बूट मुख्य वर्ग और क्लासपाथ निर्दिष्ट करने के लिए बस जार के मेनिफेस्ट का उपयोग करता है।तो मुझे लगता है कि यहां असली सवाल एक निष्पादन योग्य जार में एक से अधिक मुख्य वर्ग हो सकता है? उस प्रश्न को यहां भी उत्तर/उत्तर दिया गया है: http://stackoverflow.com/q/3976514/953327 – FGreg
आप इसके साथ क्या करने का इरादा रखते हैं? क्या आप स्प्रिंग बूट के भीतर से कई एप्लिकेशन बनाना चाहते हैं? – Makoto
@FGreg मैं दूसरे आदेश का उपयोग करके वैकल्पिक मुख्य तक पहुंच सकता हूं, जो आपके द्वारा लिंक किए गए एसओ थ्रेड में उत्तर से मेल खाता है। इसे सफलतापूर्वक उपयोग करने के लिए, मुझे यह पता लगाना होगा कि मेरे नेस्टेड जार को क्लासपाथ में कैसे जोड़ना है। –