2015-06-10 19 views
13

के लिए बाहरी लाइब्रेरी फ़ोल्डर मुझे आश्चर्य है कि मेरे स्प्रिंग बूट अनुप्रयोगों के लिए सभी जेडीबीसी ड्राइवरों को कैसे बाहरी बनाना है, मैं एप्लिकेशन बनने के बाद जेडीबीसी ड्राइवरों को अपने वसा जार में डालना नहीं चाहूंगा।स्प्रिंग बूट

क्या जावा वीएम पैरामीटर सेट करने का कोई तरीका है, यह सूचित करते हुए कि बाहरी फ़ोल्डर को जार निष्पादन के साथ शामिल किया जाना चाहिए? या इसके लिए किसी प्रकार की वसंत संपत्ति मौजूद हो सकती है।

उदाहरण के लिए: जावा -DLib = फ़ाइल: \\ c: \ ड्राइवर जार sample.jar

धन्यवाद

उत्तर

6

PropertiesLauncher के बारे में दस्तावेज़ देखें:

ऐसा लगता है कि, एक lib फ़ोल्डर स्थान को परिभाषित करने के loader.path संपत्ति का उपयोग लोड करने के लिए जार युक्त कर सकते हैं - lib फ़ोल्डर वास्तव में (इनलाइन जार के साथ) डिफ़ॉल्ट स्थान है:

loader.path (यदि खाली है) lib के लिए डिफ़ॉल्ट (जिसका अर्थ है स्थानीय निर्देशिका या एक संग्रह से चलने पर घोंसला वाला)

+0

मैं अभी भी लोडर.path के साथ काम नहीं कर सकता, ऐसा लगता है कि मैंने जो कुछ भी रखा है उसे अनदेखा कर रहा है। क्या आप एक उदाहरण जोड़ सकते हैं, कृपया? धन्यवाद। –

+1

कोई बात नहीं, यह पता चला है कि लोडर.path के लिए काम करने के लिए आपको ज़िप लेआउट के साथ अपना जार बनाना होगा। –

-1

कि नहीं है क्या classpath के लिए है? जब तक jdbc ड्राइवर जार क्लासपाथ पर हैं, यह काम करना चाहिए। कुछ ऐसा:

java -classpath /path/to/driver/jar -jar application.jar 

आप इसके लिए क्लासस्पैट पर्यावरण चर सेट भी कर सकते हैं।

+3

वसंत-बूट और उसके निष्पादन योग्य-जार प्रारूप के साथ नहीं, और पारंपरिक रूप से आप जार और क्लासपाथ विकल्पों को मिश्रित नहीं कर सकते - http://stackoverflow.com/questions/15930782/कॉल-जावा-जार-मायफाइल-जार-साथ-अतिरिक्त-क्लासपाथ-विकल्प –

+0

जावा सीएमडी जार विकल्प के साथ "क्लासपाथ" विकल्पों को अनदेखा करता है। – xyzlast