2011-01-10 13 views
12

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

मैं जानता हूँ कि यह बहुत ज्यादा क्या Maven के बारे में नहीं है, लेकिन वास्तव में मैं सिर्फ इतना है कि छोटे jnlp-api-1.5.0.jar फ़ाइल मेरी एससीएम में

  1. होने के लिए (मैं डॉन 'चाहते हैं टी सिर्फ एक निर्भरता के लिए अपना खुद का मेवेन भंडार रोल करना चाहता हूं)।
  2. प्रोजेक्ट बनाता है जब संकलन क्षेत्र में।

मुझे यह करने के लिए किस knobs को चालू करना है?

उत्तर

15

जेडीके 7.0 के अनुसार, जेएनएलपी एपीआई आपके जेआरई की lib निर्देशिका में javaws.jar फ़ाइल द्वारा प्रदान की जा रही है, यानी ${java.home}/lib/javaws.jar। मेवेन निर्भरता स्कोप system का उपयोग करना संभव है।

<project> 
    ... 
    <dependencies> 
    <dependency> 
     <groupId>javax.jnlp</groupId> 
     <artifactId>jnlp-api</artifactId> 
     <version>7.0</version> 
     <scope>system</scope> 
     <systemPath>${java.home}/lib/javaws.jar</systemPath> 
    </dependency> 
    </dependencies> 
    ... 
</project> 
+1

अब मैं ' $ {basedir} /src/libs/jnlp-api-1.5.0.jar' और यह एक आकर्षण की तरह काम करता है। यहां तक ​​कि हडसन भी इसे पसंद करते हैं। धन्यवाद! – Waldheinz

+0

मैक जेडीके 1.6 पर jnlp कक्षाओं को $ {java.home} /lib/javaws.jar में भेजता है। – Kane

+0

यह केवल ओरेकल जेडीके के साथ काम करता प्रतीत होता है। वाल्डहेन्ज़ उल्लेखों जैसे स्थानीय पथ का उपयोग करना एक प्रोजेक्ट के लिए काम कर सकता है, लेकिन यदि यह किसी अन्य की निर्भरता है तो पथ अब और मान्य नहीं होगा। – javydreamercsw

4

आप जेएआर को अपने स्थानीय भंडार में install-file मैवेन-इंस्टाल-प्लगइन के लक्ष्य का उपयोग करके और इसे संदर्भित कर सकते हैं जैसा कि आप आमतौर पर अपने पीओएम में करेंगे। आदेश होगा:

mvn install:install-file -Dfile=/path/to/jnlp-api-1.5.0.jar -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=1.5.0 -Dpackaging=<packaging> 

इस आदेश को एक स्क्रिप्ट में रखें और इसे अपने एससीएम में देखें। इस तरह, आप (और इस परियोजना पर काम करने वाले किसी और व्यक्ति) इसे आसानी से स्थानीय रेपो में स्थापित कर सकते हैं।

संबंधित मुद्दे