2011-01-04 5 views
11

क्या कोई इसे जानता है कि इसे कैसे बदला जाए?surefire-plugin द्वारा लोड किए जाने वाले क्लासपाथ पर स्थानों का क्रम बदलना

मैं

target/test-classes ... target/classes .... maven dependencies 

से

target/test-classes ... maven dependencies .... target/classes 

यह इस अचूक-प्लगइन feature request

यह क्योंकि अचूक-प्लगइन/शामिल नहीं कर सकते से/लक्ष्य/वर्गों संसाधनों को बाहर है से संबंधित है के लिए मतलब है। .. इसमें केवल <testResources> तत्व के माध्यम से संसाधनों को शामिल/निकाला जा सकता है जो केवल/लक्ष्य/परीक्षण-वर्गों को प्रभावित कर सकते हैं, नहीं/लक्ष्य/कक्षा

यह सब अचूक-प्लगइन में यहाँ होता है:

File projectClassesDirectory = new File(project.getBuild().getOutputDirectory()); 
if (!projectClassesDirectory.equals(classesDirectory)) 
{ 
    int indexToReplace = classpathElements.indexOf(project.getBuild().getOutputDirectory()); 
    if (indexToReplace != -1) 
    { 
     classpathElements.remove(indexToReplace); 
     classpathElements.add(indexToReplace, classesDirectory.getAbsolutePath()); 
    } 
    else 
    { 
     classpathElements.add(1, classesDirectory.getAbsolutePath()); 
    } 
} 

File projectTestClassesDirectory = new File(project.getBuild().getTestOutputDirectory()); 
if (!projectTestClassesDirectory.equals(testClassesDirectory)) 
{ 
    int indexToReplace = classpathElements.indexOf(project.getBuild().getTestOutputDirectory()); 
    if (indexToReplace != -1) 
    { 
     classpathElements.remove(indexToReplace); 
     classpathElements.add(indexToReplace, testClassesDirectory.getAbsolutePath()); 
    } 
    else 
    { 
     classpathElements.add(0, testClassesDirectory.getAbsolutePath()); 
    } 
} 

getLog().debug("Test Classpath :"); 

for (Iterator i = classpathElements.iterator(); i.hasNext();) 
{ 
    String classpathElement = (String) i.next(); 

    getLog().debug(" " + classpathElement); 

    surefireBooter.addClassPathUrl(classpathElement); 
} 
+1

यह गंध करता है जैसे आप गलत समस्या को हल करने की कोशिश कर रहे हैं –

+0

@ सेन पैट्रिक फ़्लॉइड मुझे यकीन है कि अगर आप जिरा मुद्दे को पढ़ते हैं, खासकर मेरी टिप्पणियों में से 3, मेरे पास – lisak

+0

@ लिसाक आपकी टिप्पणियों को समझ में आता है, लेकिन गंध बनी हुई है: –

उत्तर

1

एक अलग परियोजना में परीक्षण पर विचार करें। आम तौर पर, जब आपके पास एक परियोजना है जो द मेवेन वे के साथ संघर्ष करती है, तो यह समाधान है - इसे विभाजित करें।

0

मुझे आपके फीचर अनुरोध लिंक से क्या समझा गया है, यह है कि आपके पास src/main/resources/config.xml है और एक निर्भरता जिसमें config.xml भी शामिल है जिसे आप अपने परीक्षणों में उपयोग करना चाहते हैं। क्या वह सही है?

अगर ऐसा है, क्या तुम कर सकते हो src/config/config.xml की तरह अपने एक अन्य जगह पर src/main/resources/config.xml (नहीं एक संसाधन निर्देशिका) ले जाने के लिए, और उन्हें war या jar प्लगइन config सेट करके अपने अंतिम जार/युद्ध में शामिल।

इस तरह से आपके परीक्षण config.xml आपकी निर्भरता से देखेंगे, लेकिन src/config/config.xml नहीं, क्योंकि यह कक्षा में नहीं है।

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

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