مع مشاريع مخضرم متعددة وحدة، هل من الممكن أن أجعل مشروع (المعبأة بوم) الجذر متاح في الكسوف؟

StackOverflow https://stackoverflow.com/questions/374043

  •  22-08-2019
  •  | 
  •  

سؤال

لدينا مجموعة كبيرة نسبيا من المشاريع Maven2، مع ملف POM الجذر سرد 10+ وحدات والكثير من الخصائص التي تستخدمها وحدات (أرقام إصدار التبعية، التكوين المساعد، تبعيات مشتركة، الخ). بعض من وحدات هي، مثل المشروع الجذر، والآباء إلى مجموعات أخرى من وحدات.

لتوضيح، المشروع الجذر وقال يتم تعيين المشاريع الأم لبوم التعبئة والتغليف (في مقابل مثل جرة).

ولأن هناك العديد من تبعيات بين المشاريع المختلفة، أود أن استخدام كسوف mvn: كسوف في المشروع الجذر التي تمكنني من التصحيح / خطوة في أي مشروع في أي وقت.

ولكن، مع هذا النهج، وPOM الجذر نفسه، وجميع المشاريع الأخرى المعبأة بوم، لا تتوفر في الكسوف. لذا، إذا كنت ترغب في تحريرها، ولقد لفتحها بطريقة أخرى. هذا الامر اصبح قليلا من المتاعب.

وهكذا، سؤالي هو: هل من الممكن لجعل بطريقة أو بأخرى مشاريع تعبئتها بوم المتاحة في الكسوف؟ إن لم يكن، هل لديك أي نصائح التي يمكن أن تجعل عملي مع هذه المشاريع أسهل؟

لسجل، أنا حاليا باستخدام MyEclipse 7.0.

هل كانت مفيدة؟

المحلول

وحاولت ذلك مرة أخرى، مع غاليليو وأحدث نسخة من m2eclipse. أصبح من الممكن الآن لاستيراد المشاريع مخضرم مباشرة. (بدون كسوف mvn: كسوف)، واتضح أن POM الجذر يتم استيرادها أيضا كمشروع، وهو excactly ما أردت

نصائح أخرى

وحسنا. الكثير من الناس تفعل ذلك عن طريق جعل الوالد POM مشروع الأخوة، وجود POM مفاعل بسيط في الجذر. ولكن هذا يمكن أن يسبب مشاكل مع جيل الانترنت والبرنامج المساعد الإفراج عنهم، كما لا يدعم هذا الوضع على أكمل وجه واحد قد ترغب.

وهناك مشكلة كبيرة دينا كثير من الأحيان هو أن الناس في محاولة للتحقق من جذع باستخدام سوبكليبسي، الذي يضيف ملف .project في الجذر، والذي ثم يمنع استيراد المشاريع دون هذا المستوى. وبدلا من ذلك علينا أن نذهب خارج للتحقق من، ثم استيراد المشاريع.

الشائعات

ولقد سمعت أن التخريبية قد تعامل مع المشاريع المتداخلة على نحو أفضل، الذي هو في الحقيقة مشكلة هنا. عدا ذلك، ليس لدي حل المطلق هنا.

ويمكنك أن تحاول كتابة مهمة لإنشاء الملف يدويا .project لكل مشروع POM في انها الدليل. لست متأكدا على التفاصيل، ولكن هل يمكن أن تولد شيئا مثل:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>${project.name}</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
        </buildSpec>
        <natures>
        </natures>
</projectDescription>

وفي الدليل الجذر المشروع وينبغي أن يكون بخير.

وأنا لست متأكدا ما إذا كان القيام بذلك عندئذ منع لكم من استيراد الأطفال مشاريع في الكسوف على الرغم من (كما تعلمون - تحتاج إلى استيراد كل ما تبذلونه من المشاريع غير بوم أولا ثم خلق مشاريع "العامة" للآخرين ، مع مسار مطابقة المسار الفعلي في إطار الهيكل mvn). والكسوف يمنعك من إنشاء مشروع داخل آخر، حتى إذا لم تعترف أي شيء من أعلى في التسلسل الهرمي المشروع ستحصل على توجهت في الماضي.

وتمكنت من العمل مع codehaus كسوف المساعد مع مشاريع مخضرم وجود الوالدين. البرنامج المساعد لديه بعض العيوب، ولكن عموما والحفاظ عليه ويجب أن تكون قادرة على الحصول على جنبا إلى جنب معها.

في الواقع، إذا كنت لا تريد أن تعتمد على m2eclipse، و "الحق" وسيلة لتحقيق ذلك هي استخدام <لأ href = "http://maven.apache.org/plugins/maven-eclipse-plugin /reactor.html#Flat_Project_Layout "يختلط =" نوفولو noreferrer "> تخطيط المشروع شقة (وكما أن المشكلة هي أن الكسوف لا يدعم المشاريع المتداخلة).

وعموما أنا فقط بحاجة فعلا الوالد متاح في الكسوف لإضافة تبعيات وللاستفادة من تنسيق XML. وسيلة رخيصة والبهجة في إنشاء مشروع الموارد وربط بوم الأم في ذلك. ملف -> جديد -> أخرى -> عام -> ملف -> خيارات متقدمة

وإذا كنت تستخدم إصدار 2.8+ الكسوف المساعد يمكنك الحصول عليه يكون الوصلة لك في كل من المشاريع الفرعية الخاصة بك منها مثلا.

<plugin>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.8-SNAPSHOT</version>
    <configuration>
        <linkedResources> 
            <linkedResource>
                <name>parent.xml</name> 
                <type>1</type>
                <location>${basedir}/${parent.relativePath}</location> 
            </linkedResource>
        </linkedResources> 
    </configuration>
  </plugin>

وعلى الرغم من أنك سوف تحتاج حاليا للتحقق من ذلك من التخريب وبناء بنفسك لأنه لا يبدو أن حل وسط من بعد.

svn co http://svn.apache.org/repos/asf/maven/plugins/trunk/maven-eclipse-plugin/
cd maven-eclipse-plugin
mvn clean install
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top