2013-07-26 5 views
5

मैं जेरा प्लगइन विकास के साथ नया हूं, इसलिए मेरा प्रश्न बहुत आसान लग सकता है, लेकिन कृपया धैर्य रखें और इसे सावधानीपूर्वक पढ़ें, क्योंकि मैंने इंटरनेट पर पाई गई कई चीजों की कोशिश की है, और उनमें से कोई भी काम नहीं करता है। यही कारण है कि मैं इसे अपनी आखिरी आशा के रूप में यहां पूछ रहा हूं।जेरा रीस्ट जावा क्लाइंट को जेरा प्लगइन में कैसे शामिल करें?

मैं अपने जेरा प्लगइन में JIRA REST Java Client का उपयोग करना चाहता हूं। सीधे आगे instructions मेरी pom.xml में निम्नलिखित जोड़ने के लिए सुझाव देते हैं और सब कुछ काम करना चाहिए:

<dependency> 
    <groupId>com.atlassian.jira</groupId> 
    <artifactId>jira-rest-java-client</artifactId> 
    <version>1.1-m02</version> 
</dependency> 

लेकिन निश्चित रूप से ऐसा नहीं होता है, क्योंकि ग्रहण में, सब कुछ (किसी भी त्रुटि/चेतावनी के बिना) ठीक से पता चलता बाद atlas-mvn eclipse:eclipse, लेकिन जब मैं, atlas-run या atlas-debug साथ JIRA चलाने जैसे ही मैंने लाइन तक पहुँचने का प्रयास:

JerseyJiraRestClientFactory f = new JerseyJiraRestClientFactory(); 

मैं अपवाद java.lang.NoClassDefFoundError: com/atlassian/jira/rest/client/internal/jersey/JerseyJiraRestClientFactory

मैं फिर कहता हूँ मिलता है, ग्रहण में, सब कुछ एक चेतावनी/त्रुटि चिह्न के बिना ठीक दिखाता है, लेकिन रनटाइम पर, मुझे यह अपवाद मिलता है।

मुझे जिस समाधान की सिफारिश की गई थी, वह मेरे pom.xml में all the needed dependencies जोड़ना था, लेकिन तब मैं कई अपवादों के कारण सामान्य रूप से जेरा सामान्य रूप से शुरू करने में सक्षम नहीं था (यदि आवश्यक हो तो उन्हें प्रदान करेगा)।

तो, सरल सवाल यह है कि यह ठीक से कैसे करें? इससे भी बेहतर, क्या किसी को भी pom.xml फ़ाइल + src/फ़ोल्डर प्रदान करने के लिए कोई आसान कामकाजी उदाहरण है, तो मैं समझ सकता हूं कि मैं कहां गलत कर रहा हूं?

अग्रिम धन्यवाद।

उत्तर

3

jrjc-example-client repository JRJC के वर्तमान संस्करण 2.0 है और एक महत्वपूर्ण बात प्रदान की pom.xml फ़ाइल में उल्लेख किया गया है में उल्लेख किया है:।

"JIRA पहले से ही निर्भरता JRJC की जरूरत है कि हम जरूरत के एक नंबर प्रदान करता है उन्हें जेआरजेसी निर्भरता से बाहर करने के लिए क्योंकि हम प्लगइन के अंदर उन्हें पैकेज नहीं करना चाहते हैं। "

हां, तो समाधान JRJC निर्भरता से उन चीजों को बाहर करने का है:

<dependency> 
     <groupId>com.atlassian.jira</groupId> 
     <artifactId>jira-rest-java-client</artifactId> 
     <version>2.0.0-m2</version> 
     <!-- 
     JIRA will already provide a number of dependencies that JRJC needs. We need to exclude them from the 
     JRJC dependency as we don't want to package them up inside the plugin. 
     --> 
     <exclusions> 
       <exclusion> 
         <groupId>commons-logging</groupId> 
         <artifactId>commons-logging</artifactId> 
       </exclusion> 
       <exclusion> 
         <groupId>joda-time</groupId> 
         <artifactId>joda-time</artifactId> 
       </exclusion> 
       <exclusion> 
         <groupId>com.sun.jersey</groupId> 
         <artifactId>jersey-json</artifactId> 
       </exclusion> 
       <exclusion> 
         <groupId>com.google.guava</groupId> 
         <artifactId>guava</artifactId> 
       </exclusion> 
       <exclusion> 
         <groupId>com.atlassian.sal</groupId> 
         <artifactId>sal-api</artifactId> 
       </exclusion> 
       <exclusion> 
         <groupId>com.atlassian.event</groupId> 
         <artifactId>atlassian-event</artifactId> 
       </exclusion> 
       <exclusion> 
         <groupId>org.slf4j</groupId> 
         <artifactId>slf4j-api</artifactId> 
       </exclusion> 
       <exclusion> 
         <groupId>commons-lang</groupId> 
         <artifactId>commons-lang</artifactId> 
       </exclusion> 
       <exclusion> 
         <groupId>commons-codec</groupId> 
         <artifactId>commons-codec</artifactId> 
       </exclusion> 
       <exclusion> 
         <groupId>org.springframework</groupId> 
         <artifactId>spring-context</artifactId> 
       </exclusion> 
       <exclusion> 
         <groupId>com.sun.jersey</groupId> 
         <artifactId>jersey-core</artifactId> 
       </exclusion> 
     </exclusions> 
</dependency> 
2

यह आपके सवाल का सीधा जवाब नहीं हो सकता है, लेकिन आप सही दिशा में कुछ सुराग दे सकता है।

जिरा एक डबल धार तलवार, ओएसजीआई कंटेनर की रक्षा करता है। जब आप तैनात करते हैं तो आपके स्थानीय पर्यावरण बम में विकास करते समय ठीक दिखने वाली चीजें। ओएसजीआई परिप्रेक्ष्य से चीजें नीचे छेड़छाड़ कर सकते हैं। वहां गया, कुछ बार जला दिया गया है। HTH।

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