2012-08-28 22 views
6

पर "असंतुष्ट बाधा" मैं बस Tycho के साथ शुरू कर रहा हूं, और मैं शुरुआती चरण में फंस गया हूं। हो सकता है कि मैं कुछ गलत समझ रहा हूं, इसलिए बस, जो मैं उम्मीद कर रहा हूं: मैं ओएसजीआई शैली में अपनी बंडल की जरूरतों को परिभाषित करता हूं (यानी MANIFEST.MFImport-Package के माध्यम से), और टाइको किसी भी तरह से फ्लाई पर उस जानकारी का उपयोग करता है जो मुझे फिर से परिभाषित करने की आवश्यकता है यह सब मेवेन शैली में है (यानी मुझे pom.xml में निर्भरताएं रखने की ज़रूरत नहीं है)।Tycho - आयात-पैकेज

<properties> 
    <tycho-version>0.15.0</tycho-version> 
</properties> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.eclipse.tycho</groupId> 
      <artifactId>tycho-maven-plugin</artifactId> 
      <version>${tycho-version}</version> 
      <extensions>true</extensions> 
     </plugin> 
    </plugins> 
</build> 

कुछ के माध्यम से संघर्ष:

तो, मैं m2eclipse प्लगइन, m2eclipse-टाइको पर जोड़ सकते हैं और PDE प्लगइन, और पोम में निम्नलिखित टाइको सामान डाल के साथ एक सरल Maven परियोजना बनाया है, ग्रहण में निराशाजनक विन्यास त्रुटियों, और अंततः एक अनिवार्य रूप से खाली परियोजना (यानी कोई स्रोत कोड) नहीं मिला जिसने ग्रहण में कोई त्रुटि या चेतावनी नहीं दी। तब मैंने अपने स्रोत कोड को किसी अन्य प्रोजेक्ट से कॉपी किया, और (अपेक्षित के रूप में) गायब निर्भरताओं के कारण कंपाइलर त्रुटियों का एक गुच्छा मिला। पहला वाला org.jboss.netty.channel से सारचंचल था। मैं Netty के संस्करण 3.5.1.Final उपयोग करते हैं, इसलिए मैं अपने MANIFEST.MF संपादित शामिल करने के लिए:

Import-Package: org.jboss.netty.channel;version="[3.5.1,4)" 

मैं तो टाइको उम्मीद कर रहा था किसी भी तरह जादुई यह पता लगाने की है कि मैं Netty की जरूरत है, और इसलिए जैसे मैं था कार्य मेरी Maven pom.xml में निम्नलिखित की तरह डाला कुछ:

<dependency> 
    <groupId>org.jboss.netty</groupId> 
    <artifactId>netty</artifactId> 
    <version>3.5.1.Final</version> 
</dependency> 

इसके बजाय, वह सब हुआ मैं एक अतिरिक्त त्रुटि ग्रहण में मिल गया था, कह रही:

Unsatisfied constraint: 'Import-Package: org.jboss.netty.channel;version="[3.5.1,4.0.0)" 

मैं कहाँ जाना है पता नहीं है वह से कर रहे हैं। क्या मुझे Tycho के बारे में कुछ मौलिक गलतफहमी है? या से में <dependency> pom.xml प्रविष्टि में "जादुई" अनुवाद करने में सक्षम होने के लिए मुझे कुछ और स्थापित करना है? या कुछ और?

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

उत्तर

3

हाँ, कुछ और बाधाएं हैं।

संक्षेप में, आपको एक रिपोजिटरी के साथ टाइको की आपूर्ति करने की आवश्यकता होगी जिससे वह निर्भरताओं को पुनर्प्राप्त कर सके।

थोड़ा और अधिक विस्तार में:

  • आप अपने लक्ष्य मंच की स्थापना की है, और यह टाइको को पारित करने के लिए की जरूरत है। मुझे लगता है कि आप पहले से ही अपने लक्ष्य मंच को किसी भी तरह से स्थापित कर चुके हैं, अन्यथा ग्रहण नेटटी नहीं ढूंढने के बारे में भी शिकायत करेगा।
  • सुनिश्चित करें कि आप अपने कार्यक्षेत्र में अपना लक्षित प्लेटफ़ॉर्म साझा करें, इसलिए टाइपो इसे भी एक्सेस कर सकता है।
  • बताएँ टाइको this
  • टाइको संगत लक्ष्य प्लेटफार्मों की तरह है कि लक्ष्य मंच का उपयोग करने केवल समर्थन p2 लेआउट, इसलिए कोई सादा निर्देशिका। मुझे यकीन है कि पी 2 रेपो बनाने का सबसे अच्छा तरीका क्या है, जैसा कि मैंने while back से पूछा है। कोई जवाब नहीं, लेकिन मैं समझता हूं कि मेरे लिए क्या काम करता है (तरह)।

आशा है कि यह मदद करता है, फ्रैंक

+0

धन्यवाद! लक्ष्य मंच था जो मैं याद कर रहा था। – user1628103

3

आपकी समझ पहले से ही बहुत अच्छा है, लेकिन वहाँ एक छोटी लेकिन आवश्यक लापता टुकड़ा है: विपरीत Maven में, वहाँ है कोई विहित डिफ़ॉल्ट भंडार (जैसे "केंद्रीय") Tycho में। आपको कॉन्फ़िगर करने की आवश्यकता है कि Tycho ओएसजीआई निर्भरताओं को हल करने के लिए कहां खोज करेगा।

इस खोज क्षेत्र को Tycho में "target platform" कहा जाता है। different ways so include artifacts in the target platform हैं; सबसे आसान एक पी 2 रिपोजिटरी को कॉन्फ़िगर करना है जिसमें पीओएम में आपकी निर्भरताएं अतिरिक्त <layout>p2</layout> विशेषता (मान लीजिए कि आप निर्भरता वाले पी 2 रिपोजिटरी को जानते हैं।)

0

अतिरिक्त निर्भरता के माध्यम से लापता बंडल को जोड़ने की संभावना भी है कॉन्फ़िगरेशन, सीधे असफल बंडल पर:

<plugin> 
<groupId>org.eclipse.tycho</groupId> 
<artifactId>target-platform-configuration</artifactId> 
<version>${tycho.version}</version> 
<configuration> 
    <dependency-resolution> 
    <extraRequirements> 
    <requirement> 
    <type>eclipse-plugin</type> 
    <id>org.eclipse.jface.text</id> 
    <versionRange>0.0.0</versionRange> 
    </requirement> 
    </extraRequirements> 
</dependency-resolution> 
</configuration> 
</plugin> 
संबंधित मुद्दे